diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..c094dba6 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# This allows generated code to be indexed correctly +*.cs linguist-generated=false \ No newline at end of file diff --git a/.github/workflows/sdk_generation.yaml b/.github/workflows/sdk_generation.yaml new file mode 100644 index 00000000..fe8439dd --- /dev/null +++ b/.github/workflows/sdk_generation.yaml @@ -0,0 +1,30 @@ +name: Generate +permissions: + checks: write + contents: write + pull-requests: write + statuses: write + id-token: write +"on": + workflow_dispatch: + inputs: + force: + description: Force generation of SDKs + type: boolean + default: false + set_version: + description: optionally set a specific SDK version + type: string + schedule: + - cron: 0 0 * * * +jobs: + generate: + uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15 + with: + force: ${{ github.event.inputs.force }} + mode: pr + set_version: ${{ github.event.inputs.set_version }} + secrets: + github_access_token: ${{ secrets.GITHUB_TOKEN }} + nuget_api_key: ${{ secrets.NUGET_API_KEY }} + speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }} diff --git a/.github/workflows/sdk_publish.yaml b/.github/workflows/sdk_publish.yaml new file mode 100644 index 00000000..67507084 --- /dev/null +++ b/.github/workflows/sdk_publish.yaml @@ -0,0 +1,23 @@ +name: Publish +permissions: + checks: write + contents: write + pull-requests: write + statuses: write + id-token: write +"on": + push: + branches: + - main + paths: + - .speakeasy/gen.lock + workflow_dispatch: {} +jobs: + publish: + uses: speakeasy-api/sdk-generation-action/.github/workflows/sdk-publish.yaml@v15 + with: + target: apideck + secrets: + github_access_token: ${{ secrets.GITHUB_TOKEN }} + nuget_api_key: ${{ secrets.NUGET_API_KEY }} + speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..b004eced --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +obj/ +bin/ +debug/ diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock new file mode 100644 index 00000000..ca50de66 --- /dev/null +++ b/.speakeasy/gen.lock @@ -0,0 +1,9410 @@ +lockVersion: 2.0.0 +id: fd061a11-b821-4913-81c4-4178d823c774 +management: + docChecksum: 29e131cc34f149097161628c2a21c36d + docVersion: 10.8.2 + speakeasyVersion: 1.451.7 + generationVersion: 2.471.2 + releaseVersion: 0.0.4 + configChecksum: 33c28ea99652b2ac71f9d79e9924977d +features: + csharp: + additionalDependencies: 0.1.0 + constsAndDefaults: 0.0.1 + core: 3.10.6 + deprecations: 2.81.2 + errors: 0.2.0 + flattening: 2.81.3 + globalSecurity: 2.83.6 + globalSecurityCallbacks: 0.1.0 + globalSecurityFlattening: 0.1.0 + globalServerURLs: 2.82.3 + globals: 2.82.1 + groups: 2.81.2 + inputOutputModels: 2.83.0 + intellisenseMarkdownSupport: 0.1.0 + methodArguments: 0.1.0 + methodServerURLs: 2.82.1 + nameOverrides: 2.81.2 + nullables: 0.1.0 + responseFormat: 0.0.4 + retries: 0.0.1 + sdkHooks: 0.1.0 + typeOverrides: 2.81.1 + unions: 0.2.2 +generatedFiles: + - .gitattributes + - Apideck.Unify.SDK.sln + - CONTRIBUTING.md + - USAGE.md + - docs/Models/Components/AccountStatus.md + - docs/Models/Components/AccountType.md + - docs/Models/Components/AccountingDepartment.md + - docs/Models/Components/AccountingDepartmentInput.md + - docs/Models/Components/AccountingDepartmentsFilter.md + - docs/Models/Components/AccountingLocation.md + - docs/Models/Components/AccountingLocationInput.md + - docs/Models/Components/AccountingLocationsFilter.md + - docs/Models/Components/ActivitiesFilter.md + - docs/Models/Components/ActivitiesSort.md + - docs/Models/Components/ActivitiesSortBy.md + - docs/Models/Components/Activity.md + - docs/Models/Components/ActivityAttendee.md + - docs/Models/Components/ActivityAttendeeInput.md + - docs/Models/Components/ActivityAttendeeStatus.md + - docs/Models/Components/ActivityInput.md + - docs/Models/Components/ActivityType.md + - docs/Models/Components/Address.md + - docs/Models/Components/Addresses.md + - docs/Models/Components/Allocation.md + - docs/Models/Components/AllocationInput.md + - docs/Models/Components/AllocationType.md + - docs/Models/Components/Allocations.md + - docs/Models/Components/AllowActions.md + - docs/Models/Components/Api.md + - docs/Models/Components/ApiResource.md + - docs/Models/Components/ApiResourceCoverage.md + - docs/Models/Components/ApiStatus.md + - docs/Models/Components/ApiType.md + - docs/Models/Components/ApisFilter.md + - docs/Models/Components/Applicant.md + - docs/Models/Components/ApplicantInput.md + - docs/Models/Components/ApplicantType.md + - docs/Models/Components/ApplicantsFilter.md + - docs/Models/Components/Application.md + - docs/Models/Components/ApplicationInput.md + - docs/Models/Components/ApplicationStatus.md + - docs/Models/Components/Assignee.md + - docs/Models/Components/AssigneeInput.md + - docs/Models/Components/Attachment.md + - docs/Models/Components/AttachmentReference.md + - docs/Models/Components/AttachmentReferenceType.md + - docs/Models/Components/Audience.md + - docs/Models/Components/AuthType.md + - docs/Models/Components/BalanceSheet.md + - docs/Models/Components/BalanceSheetAssetsAccount.md + - docs/Models/Components/BalanceSheetEquityAccount.md + - docs/Models/Components/BalanceSheetFilter.md + - docs/Models/Components/BalanceSheetLiabilitiesAccount.md + - docs/Models/Components/BalanceSheetUncategorizedItemsAccount.md + - docs/Models/Components/BankAccount.md + - docs/Models/Components/Benefit.md + - docs/Models/Components/Bill.md + - docs/Models/Components/BillInput.md + - docs/Models/Components/BillLineItem.md + - docs/Models/Components/BillLineItemInput.md + - docs/Models/Components/BillLineItemType.md + - docs/Models/Components/BillPayment.md + - docs/Models/Components/BillPaymentAllocationType.md + - docs/Models/Components/BillPaymentAllocations.md + - docs/Models/Components/BillPaymentInput.md + - docs/Models/Components/BillPaymentType.md + - docs/Models/Components/BillStatus.md + - docs/Models/Components/BillsFilter.md + - docs/Models/Components/BillsSort.md + - docs/Models/Components/Blocks.md + - docs/Models/Components/Branch.md + - docs/Models/Components/By.md + - docs/Models/Components/Categories.md + - docs/Models/Components/Classification.md + - docs/Models/Components/Collection.md + - docs/Models/Components/CollectionTag.md + - docs/Models/Components/CollectionTagInput.md + - docs/Models/Components/CollectionTicketComment.md + - docs/Models/Components/CollectionTicketCommentInput.md + - docs/Models/Components/CollectionUser.md + - docs/Models/Components/CollectionsSort.md + - docs/Models/Components/CollectionsSortBy.md + - docs/Models/Components/CommentsSort.md + - docs/Models/Components/CommentsSortBy.md + - docs/Models/Components/CompaniesFilter.md + - docs/Models/Components/CompaniesSort.md + - docs/Models/Components/CompaniesSortBy.md + - docs/Models/Components/Company.md + - docs/Models/Components/CompanyInfo.md + - docs/Models/Components/CompanyInput.md + - docs/Models/Components/CompanyRowType.md + - docs/Models/Components/CompanyStatus.md + - docs/Models/Components/Compensation.md + - docs/Models/Components/Components.md + - docs/Models/Components/Configuration.md + - docs/Models/Components/Connection.md + - docs/Models/Components/ConnectionConfiguration.md + - docs/Models/Components/ConnectionDefaults.md + - docs/Models/Components/ConnectionImportData.md + - docs/Models/Components/ConnectionImportDataSettings.md + - docs/Models/Components/ConnectionInput.md + - docs/Models/Components/ConnectionState.md + - docs/Models/Components/ConnectionStatus.md + - docs/Models/Components/ConnectionValue.md + - docs/Models/Components/Connector.md + - docs/Models/Components/ConnectorAuthType.md + - docs/Models/Components/ConnectorDoc.md + - docs/Models/Components/ConnectorEvent.md + - docs/Models/Components/ConnectorOauthGrantType.md + - docs/Models/Components/ConnectorOauthScopes.md + - docs/Models/Components/ConnectorResource.md + - docs/Models/Components/ConnectorSetting.md + - docs/Models/Components/ConnectorSettingType.md + - docs/Models/Components/ConnectorStatus.md + - docs/Models/Components/ConnectorsFilter.md + - docs/Models/Components/Consumer.md + - docs/Models/Components/ConsumerConnection.md + - docs/Models/Components/ConsumerInput.md + - docs/Models/Components/ConsumerMetadata.md + - docs/Models/Components/ConsumerRequestCountsInDateRangeResponse.md + - docs/Models/Components/ConsumerRequestCountsInDateRangeResponseData.md + - docs/Models/Components/Contact.md + - docs/Models/Components/ContactGender.md + - docs/Models/Components/ContactInput.md + - docs/Models/Components/ContactType.md + - docs/Models/Components/ContactsFilter.md + - docs/Models/Components/ContactsSort.md + - docs/Models/Components/ContactsSortBy.md + - docs/Models/Components/CopyFolderRequest.md + - docs/Models/Components/Coverage.md + - docs/Models/Components/CreateAccountingDepartmentResponse.md + - docs/Models/Components/CreateAccountingLocationResponse.md + - docs/Models/Components/CreateActivityResponse.md + - docs/Models/Components/CreateApplicantResponse.md + - docs/Models/Components/CreateApplicationResponse.md + - docs/Models/Components/CreateBillPaymentResponse.md + - docs/Models/Components/CreateBillResponse.md + - docs/Models/Components/CreateCallbackState.md + - docs/Models/Components/CreateCallbackStateResponse.md + - docs/Models/Components/CreateCallbackStateResponseData.md + - docs/Models/Components/CreateCommentResponse.md + - docs/Models/Components/CreateCompanyResponse.md + - docs/Models/Components/CreateConnectionResponse.md + - docs/Models/Components/CreateConsumerResponse.md + - docs/Models/Components/CreateContactResponse.md + - docs/Models/Components/CreateCreditNoteResponse.md + - docs/Models/Components/CreateCustomerResponse.md + - docs/Models/Components/CreateDepartmentResponse.md + - docs/Models/Components/CreateDriveGroupResponse.md + - docs/Models/Components/CreateDriveResponse.md + - docs/Models/Components/CreateEmployeeResponse.md + - docs/Models/Components/CreateExpenseResponse.md + - docs/Models/Components/CreateFolderRequest.md + - docs/Models/Components/CreateFolderResponse.md + - docs/Models/Components/CreateHrisCompanyResponse.md + - docs/Models/Components/CreateInvoiceItemResponse.md + - docs/Models/Components/CreateInvoiceResponse.md + - docs/Models/Components/CreateJournalEntryResponse.md + - docs/Models/Components/CreateLeadResponse.md + - docs/Models/Components/CreateLedgerAccountResponse.md + - docs/Models/Components/CreateMessageResponse.md + - docs/Models/Components/CreateNoteResponse.md + - docs/Models/Components/CreateOpportunityResponse.md + - docs/Models/Components/CreatePaymentResponse.md + - docs/Models/Components/CreatePipelineResponse.md + - docs/Models/Components/CreatePurchaseOrderResponse.md + - docs/Models/Components/CreateSessionResponse.md + - docs/Models/Components/CreateSessionResponseData.md + - docs/Models/Components/CreateSharedLinkResponse.md + - docs/Models/Components/CreateSubsidiaryResponse.md + - docs/Models/Components/CreateSupplierResponse.md + - docs/Models/Components/CreateTaxRateResponse.md + - docs/Models/Components/CreateTicketResponse.md + - docs/Models/Components/CreateTimeOffRequestResponse.md + - docs/Models/Components/CreateTrackingCategoryResponse.md + - docs/Models/Components/CreateUploadSessionRequest.md + - docs/Models/Components/CreateUploadSessionResponse.md + - docs/Models/Components/CreateUserResponse.md + - docs/Models/Components/CreateWebhookRequest.md + - docs/Models/Components/CreateWebhookResponse.md + - docs/Models/Components/Credentials.md + - docs/Models/Components/CreditNote.md + - docs/Models/Components/CreditNoteInput.md + - docs/Models/Components/CreditNoteStatus.md + - docs/Models/Components/CreditNoteType.md + - docs/Models/Components/CreditNotesFilter.md + - docs/Models/Components/CreditNotesSort.md + - docs/Models/Components/CreditNotesSortBy.md + - docs/Models/Components/Currency.md + - docs/Models/Components/Cursors.md + - docs/Models/Components/CustomField.md + - docs/Models/Components/CustomFieldFinder.md + - docs/Models/Components/CustomMapping.md + - docs/Models/Components/CustomMappingInput.md + - docs/Models/Components/CustomMappings.md + - docs/Models/Components/Customer.md + - docs/Models/Components/CustomerInput.md + - docs/Models/Components/CustomerStatus.md + - docs/Models/Components/CustomerStatusStatus.md + - docs/Models/Components/CustomersFilter.md + - docs/Models/Components/CustomersFilterStatus.md + - docs/Models/Components/CustomersSort.md + - docs/Models/Components/CustomersSortBy.md + - docs/Models/Components/Data.md + - docs/Models/Components/Deduction.md + - docs/Models/Components/Defaults.md + - docs/Models/Components/DeleteAccountingDepartmentResponse.md + - docs/Models/Components/DeleteAccountingLocationResponse.md + - docs/Models/Components/DeleteActivityResponse.md + - docs/Models/Components/DeleteApplicantResponse.md + - docs/Models/Components/DeleteApplicationResponse.md + - docs/Models/Components/DeleteAttachmentResponse.md + - docs/Models/Components/DeleteBillPaymentResponse.md + - docs/Models/Components/DeleteBillResponse.md + - docs/Models/Components/DeleteCommentResponse.md + - docs/Models/Components/DeleteCompanyResponse.md + - docs/Models/Components/DeleteConsumerResponse.md + - docs/Models/Components/DeleteConsumerResponseData.md + - docs/Models/Components/DeleteContactResponse.md + - docs/Models/Components/DeleteCreditNoteResponse.md + - docs/Models/Components/DeleteCustomerResponse.md + - docs/Models/Components/DeleteDepartmentResponse.md + - docs/Models/Components/DeleteDriveGroupResponse.md + - docs/Models/Components/DeleteDriveResponse.md + - docs/Models/Components/DeleteEmployeeResponse.md + - docs/Models/Components/DeleteExpenseResponse.md + - docs/Models/Components/DeleteFileResponse.md + - docs/Models/Components/DeleteFolderResponse.md + - docs/Models/Components/DeleteHrisCompanyResponse.md + - docs/Models/Components/DeleteInvoiceResponse.md + - docs/Models/Components/DeleteJournalEntryResponse.md + - docs/Models/Components/DeleteLeadResponse.md + - docs/Models/Components/DeleteLedgerAccountResponse.md + - docs/Models/Components/DeleteMessageResponse.md + - docs/Models/Components/DeleteNoteResponse.md + - docs/Models/Components/DeleteOpportunityResponse.md + - docs/Models/Components/DeletePaymentResponse.md + - docs/Models/Components/DeletePipelineResponse.md + - docs/Models/Components/DeletePurchaseOrderResponse.md + - docs/Models/Components/DeleteSharedLinkResponse.md + - docs/Models/Components/DeleteSubsidiaryResponse.md + - docs/Models/Components/DeleteSupplierResponse.md + - docs/Models/Components/DeleteTaxRateResponse.md + - docs/Models/Components/DeleteTicketResponse.md + - docs/Models/Components/DeleteTimeOffRequestResponse.md + - docs/Models/Components/DeleteTrackingCategoryResponse.md + - docs/Models/Components/DeleteUploadSessionResponse.md + - docs/Models/Components/DeleteUserResponse.md + - docs/Models/Components/DeleteWebhookResponse.md + - docs/Models/Components/Department.md + - docs/Models/Components/DepartmentInput.md + - docs/Models/Components/DepartmentStatus.md + - docs/Models/Components/DeprecatedLinkedSupplier.md + - docs/Models/Components/DeprecatedLinkedSupplierInput.md + - docs/Models/Components/DeprecatedLinkedTrackingCategory.md + - docs/Models/Components/Detail.md + - docs/Models/Components/Direction.md + - docs/Models/Components/DisabledReason.md + - docs/Models/Components/Drive.md + - docs/Models/Components/DriveGroup.md + - docs/Models/Components/DriveGroupInput.md + - docs/Models/Components/DriveGroupsFilter.md + - docs/Models/Components/DriveInput.md + - docs/Models/Components/DrivesFilter.md + - docs/Models/Components/EcommerceAddress.md + - docs/Models/Components/EcommerceCustomer.md + - docs/Models/Components/EcommerceCustomerType.md + - docs/Models/Components/EcommerceCustomersFilter.md + - docs/Models/Components/EcommerceDiscount.md + - docs/Models/Components/EcommerceOrder.md + - docs/Models/Components/EcommerceOrderLineItem.md + - docs/Models/Components/EcommerceOrderPaymentStatus.md + - docs/Models/Components/EcommerceOrderStatus.md + - docs/Models/Components/EcommerceOrdersFilter.md + - docs/Models/Components/EcommerceProduct.md + - docs/Models/Components/EcommerceProductCategories.md + - docs/Models/Components/EcommerceProductImages.md + - docs/Models/Components/EcommerceProductOptions.md + - docs/Models/Components/EcommerceProductVariantsOptions.md + - docs/Models/Components/EcommerceStore.md + - docs/Models/Components/Email.md + - docs/Models/Components/EmailType.md + - docs/Models/Components/Employee.md + - docs/Models/Components/EmployeeCompensation.md + - docs/Models/Components/EmployeeCompensationInput.md + - docs/Models/Components/EmployeeInput.md + - docs/Models/Components/EmployeeJob.md + - docs/Models/Components/EmployeeJobInput.md + - docs/Models/Components/EmployeeJobStatus.md + - docs/Models/Components/EmployeePayroll.md + - docs/Models/Components/EmployeeSchedules.md + - docs/Models/Components/EmployeesFilter.md + - docs/Models/Components/EmployeesFilterEmploymentStatus.md + - docs/Models/Components/EmployeesOneFilter.md + - docs/Models/Components/EmployeesSort.md + - docs/Models/Components/EmployeesSortBy.md + - docs/Models/Components/EmploymentRole.md + - docs/Models/Components/EmploymentStatus.md + - docs/Models/Components/EmploymentSubType.md + - docs/Models/Components/EmploymentTerms.md + - docs/Models/Components/EmploymentType.md + - docs/Models/Components/Error.md + - docs/Models/Components/EvenWeeks.md + - docs/Models/Components/EventSource.md + - docs/Models/Components/Expense.md + - docs/Models/Components/ExpenseInput.md + - docs/Models/Components/ExpenseLineItem.md + - docs/Models/Components/ExpenseLineItemInput.md + - docs/Models/Components/ExpensePaymentType.md + - docs/Models/Components/ExpenseType.md + - docs/Models/Components/Expenses.md + - docs/Models/Components/ExtendPaths.md + - docs/Models/Components/FileType.md + - docs/Models/Components/FilesFilter.md + - docs/Models/Components/FilesSearch.md + - docs/Models/Components/FilesSort.md + - docs/Models/Components/FilesSortBy.md + - docs/Models/Components/Five.md + - docs/Models/Components/FlsaStatus.md + - docs/Models/Components/Folder.md + - docs/Models/Components/FormField.md + - docs/Models/Components/FormFieldOption.md + - docs/Models/Components/FormFieldOptionGroup.md + - docs/Models/Components/FormFieldType.md + - docs/Models/Components/Format.md + - docs/Models/Components/Four.md + - docs/Models/Components/FulfillmentStatus.md + - docs/Models/Components/Gender.md + - docs/Models/Components/GetAccountingDepartmentResponse.md + - docs/Models/Components/GetAccountingDepartmentsResponse.md + - docs/Models/Components/GetAccountingLocationResponse.md + - docs/Models/Components/GetAccountingLocationsResponse.md + - docs/Models/Components/GetActivitiesResponse.md + - docs/Models/Components/GetActivityResponse.md + - docs/Models/Components/GetApiResourceCoverageResponse.md + - docs/Models/Components/GetApiResourceResponse.md + - docs/Models/Components/GetApiResponse.md + - docs/Models/Components/GetApisResponse.md + - docs/Models/Components/GetApplicantResponse.md + - docs/Models/Components/GetApplicantsResponse.md + - docs/Models/Components/GetApplicationResponse.md + - docs/Models/Components/GetApplicationsResponse.md + - docs/Models/Components/GetAttachmentResponse.md + - docs/Models/Components/GetAttachmentsResponse.md + - docs/Models/Components/GetBalanceSheetResponse.md + - docs/Models/Components/GetBillPaymentResponse.md + - docs/Models/Components/GetBillPaymentsResponse.md + - docs/Models/Components/GetBillResponse.md + - docs/Models/Components/GetBillsResponse.md + - docs/Models/Components/GetCollectionResponse.md + - docs/Models/Components/GetCollectionTagsResponse.md + - docs/Models/Components/GetCollectionUserResponse.md + - docs/Models/Components/GetCollectionUsersResponse.md + - docs/Models/Components/GetCollectionsResponse.md + - docs/Models/Components/GetCommentResponse.md + - docs/Models/Components/GetCommentsResponse.md + - docs/Models/Components/GetCompaniesResponse.md + - docs/Models/Components/GetCompanyInfoResponse.md + - docs/Models/Components/GetCompanyResponse.md + - docs/Models/Components/GetConnectionResponse.md + - docs/Models/Components/GetConnectionsResponse.md + - docs/Models/Components/GetConnectorResourceResponse.md + - docs/Models/Components/GetConnectorResponse.md + - docs/Models/Components/GetConnectorsResponse.md + - docs/Models/Components/GetConsumerResponse.md + - docs/Models/Components/GetConsumersResponse.md + - docs/Models/Components/GetContactResponse.md + - docs/Models/Components/GetContactsResponse.md + - docs/Models/Components/GetCreditNoteResponse.md + - docs/Models/Components/GetCreditNotesResponse.md + - docs/Models/Components/GetCustomFieldsResponse.md + - docs/Models/Components/GetCustomMappingsResponse.md + - docs/Models/Components/GetCustomerResponse.md + - docs/Models/Components/GetCustomersResponse.md + - docs/Models/Components/GetDepartmentResponse.md + - docs/Models/Components/GetDepartmentsResponse.md + - docs/Models/Components/GetDriveGroupResponse.md + - docs/Models/Components/GetDriveGroupsResponse.md + - docs/Models/Components/GetDriveResponse.md + - docs/Models/Components/GetDrivesResponse.md + - docs/Models/Components/GetEcommerceCustomerResponse.md + - docs/Models/Components/GetEcommerceCustomersResponse.md + - docs/Models/Components/GetEcommerceOrderResponse.md + - docs/Models/Components/GetEcommerceOrdersResponse.md + - docs/Models/Components/GetEmployeePayrollResponse.md + - docs/Models/Components/GetEmployeePayrollsResponse.md + - docs/Models/Components/GetEmployeeResponse.md + - docs/Models/Components/GetEmployeeSchedulesResponse.md + - docs/Models/Components/GetEmployeesResponse.md + - docs/Models/Components/GetExpenseResponse.md + - docs/Models/Components/GetExpensesResponse.md + - docs/Models/Components/GetFileResponse.md + - docs/Models/Components/GetFilesResponse.md + - docs/Models/Components/GetFolderResponse.md + - docs/Models/Components/GetHrisCompaniesResponse.md + - docs/Models/Components/GetHrisCompanyResponse.md + - docs/Models/Components/GetInvoiceItemResponse.md + - docs/Models/Components/GetInvoiceItemsResponse.md + - docs/Models/Components/GetInvoiceResponse.md + - docs/Models/Components/GetInvoicesResponse.md + - docs/Models/Components/GetJobResponse.md + - docs/Models/Components/GetJobsResponse.md + - docs/Models/Components/GetJournalEntriesResponse.md + - docs/Models/Components/GetJournalEntryResponse.md + - docs/Models/Components/GetLeadResponse.md + - docs/Models/Components/GetLeadsResponse.md + - docs/Models/Components/GetLedgerAccountResponse.md + - docs/Models/Components/GetLedgerAccountsResponse.md + - docs/Models/Components/GetLogsResponse.md + - docs/Models/Components/GetMessageResponse.md + - docs/Models/Components/GetMessagesResponse.md + - docs/Models/Components/GetNoteResponse.md + - docs/Models/Components/GetNotesResponse.md + - docs/Models/Components/GetOpportunitiesResponse.md + - docs/Models/Components/GetOpportunityResponse.md + - docs/Models/Components/GetPaymentResponse.md + - docs/Models/Components/GetPaymentsResponse.md + - docs/Models/Components/GetPayrollResponse.md + - docs/Models/Components/GetPayrollsResponse.md + - docs/Models/Components/GetPipelineResponse.md + - docs/Models/Components/GetPipelinesResponse.md + - docs/Models/Components/GetProductResponse.md + - docs/Models/Components/GetProductsResponse.md + - docs/Models/Components/GetProfitAndLossResponse.md + - docs/Models/Components/GetPurchaseOrderResponse.md + - docs/Models/Components/GetPurchaseOrdersResponse.md + - docs/Models/Components/GetSharedLinkResponse.md + - docs/Models/Components/GetSharedLinksResponse.md + - docs/Models/Components/GetStoreResponse.md + - docs/Models/Components/GetSubsidiariesResponse.md + - docs/Models/Components/GetSubsidiaryResponse.md + - docs/Models/Components/GetSupplierResponse.md + - docs/Models/Components/GetSuppliersResponse.md + - docs/Models/Components/GetTaxRateResponse.md + - docs/Models/Components/GetTaxRatesResponse.md + - docs/Models/Components/GetTicketResponse.md + - docs/Models/Components/GetTicketsResponse.md + - docs/Models/Components/GetTimeOffRequestResponse.md + - docs/Models/Components/GetTimeOffRequestsResponse.md + - docs/Models/Components/GetTrackingCategoriesResponse.md + - docs/Models/Components/GetTrackingCategoryResponse.md + - docs/Models/Components/GetUploadSessionResponse.md + - docs/Models/Components/GetUserResponse.md + - docs/Models/Components/GetUsersResponse.md + - docs/Models/Components/GetWebhookResponse.md + - docs/Models/Components/GetWebhooksResponse.md + - docs/Models/Components/GrossProfit.md + - docs/Models/Components/HTTPMetadata.md + - docs/Models/Components/HrisCompany.md + - docs/Models/Components/HrisCompanyInput.md + - docs/Models/Components/HrisCompanyStatus.md + - docs/Models/Components/Images.md + - docs/Models/Components/Income.md + - docs/Models/Components/IntegrationState.md + - docs/Models/Components/Invoice.md + - docs/Models/Components/InvoiceInput.md + - docs/Models/Components/InvoiceItem.md + - docs/Models/Components/InvoiceItemFilter.md + - docs/Models/Components/InvoiceItemFilterInvoiceItemType.md + - docs/Models/Components/InvoiceItemInput.md + - docs/Models/Components/InvoiceItemPurchaseDetails.md + - docs/Models/Components/InvoiceItemSalesDetails.md + - docs/Models/Components/InvoiceItemType.md + - docs/Models/Components/InvoiceItemTypeType.md + - docs/Models/Components/InvoiceItemsFilter.md + - docs/Models/Components/InvoiceLineItem.md + - docs/Models/Components/InvoiceLineItemInput.md + - docs/Models/Components/InvoiceLineItemType.md + - docs/Models/Components/InvoiceResponse.md + - docs/Models/Components/InvoiceStatus.md + - docs/Models/Components/InvoiceType.md + - docs/Models/Components/InvoicesFilter.md + - docs/Models/Components/InvoicesSort.md + - docs/Models/Components/InvoicesSortBy.md + - docs/Models/Components/IssuesFilter.md + - docs/Models/Components/Job.md + - docs/Models/Components/JobLinks.md + - docs/Models/Components/JobStatus.md + - docs/Models/Components/JobType.md + - docs/Models/Components/JournalEntriesFilter.md + - docs/Models/Components/JournalEntriesSort.md + - docs/Models/Components/JournalEntriesSortBy.md + - docs/Models/Components/JournalEntry.md + - docs/Models/Components/JournalEntryInput.md + - docs/Models/Components/JournalEntryLineItem.md + - docs/Models/Components/JournalEntryLineItemInput.md + - docs/Models/Components/JournalEntryLineItemType.md + - docs/Models/Components/Lead.md + - docs/Models/Components/LeadInput.md + - docs/Models/Components/LeadsFilter.md + - docs/Models/Components/LeadsSort.md + - docs/Models/Components/LeadsSortBy.md + - docs/Models/Components/LeavingReason.md + - docs/Models/Components/LedgerAccount.md + - docs/Models/Components/LedgerAccountInput.md + - docs/Models/Components/LedgerAccountType.md + - docs/Models/Components/LedgerAccountsFilter.md + - docs/Models/Components/LedgerAccountsSort.md + - docs/Models/Components/LedgerAccountsSortBy.md + - docs/Models/Components/LinkedConnectorResource.md + - docs/Models/Components/LinkedCustomer.md + - docs/Models/Components/LinkedCustomerInput.md + - docs/Models/Components/LinkedEcommerceCustomer.md + - docs/Models/Components/LinkedEcommerceOrder.md + - docs/Models/Components/LinkedFolder.md + - docs/Models/Components/LinkedInvoiceItem.md + - docs/Models/Components/LinkedLedgerAccount.md + - docs/Models/Components/LinkedLedgerAccountInput.md + - docs/Models/Components/LinkedParentCustomer.md + - docs/Models/Components/LinkedResources.md + - docs/Models/Components/LinkedSupplier.md + - docs/Models/Components/LinkedSupplierInput.md + - docs/Models/Components/LinkedTaxRate.md + - docs/Models/Components/LinkedTaxRateInput.md + - docs/Models/Components/LinkedTrackingCategory.md + - docs/Models/Components/Links.md + - docs/Models/Components/LocationStatus.md + - docs/Models/Components/Log.md + - docs/Models/Components/LogsFilter.md + - docs/Models/Components/ManagedVia.md + - docs/Models/Components/Manager.md + - docs/Models/Components/Message.md + - docs/Models/Components/MessageInput.md + - docs/Models/Components/MessageStatus.md + - docs/Models/Components/MessageType.md + - docs/Models/Components/Meta.md + - docs/Models/Components/Mode.md + - docs/Models/Components/NetIncome.md + - docs/Models/Components/NetOperatingIncome.md + - docs/Models/Components/Note.md + - docs/Models/Components/NoteInput.md + - docs/Models/Components/Notes.md + - docs/Models/Components/OAuthGrantType.md + - docs/Models/Components/OauthCredentialsSource.md + - docs/Models/Components/OauthScopes.md + - docs/Models/Components/OddWeeks.md + - docs/Models/Components/Operation.md + - docs/Models/Components/OpportunitiesFilter.md + - docs/Models/Components/OpportunitiesSort.md + - docs/Models/Components/OpportunitiesSortBy.md + - docs/Models/Components/Opportunity.md + - docs/Models/Components/OpportunityInput.md + - docs/Models/Components/Options.md + - docs/Models/Components/OrdersSort.md + - docs/Models/Components/OrdersSortBy.md + - docs/Models/Components/Owner.md + - docs/Models/Components/PaginationCoverage.md + - docs/Models/Components/PaginationCoverageMode.md + - docs/Models/Components/ParentAccount.md + - docs/Models/Components/PassThroughBody.md + - docs/Models/Components/Payment.md + - docs/Models/Components/PaymentFrequency.md + - docs/Models/Components/PaymentInput.md + - docs/Models/Components/PaymentStatus.md + - docs/Models/Components/PaymentType.md + - docs/Models/Components/PaymentUnit.md + - docs/Models/Components/PaymentsFilter.md + - docs/Models/Components/PaymentsSort.md + - docs/Models/Components/PaymentsSortBy.md + - docs/Models/Components/Payroll.md + - docs/Models/Components/PayrollTotals.md + - docs/Models/Components/PayrollsFilter.md + - docs/Models/Components/PeriodType.md + - docs/Models/Components/Permissions.md + - docs/Models/Components/Person.md + - docs/Models/Components/PersonInput.md + - docs/Models/Components/PhoneNumber.md + - docs/Models/Components/PhoneNumberType.md + - docs/Models/Components/Pipeline.md + - docs/Models/Components/PipelineInput.md + - docs/Models/Components/PipelineStages.md + - docs/Models/Components/Price.md + - docs/Models/Components/Priority.md + - docs/Models/Components/ProbationPeriod.md + - docs/Models/Components/ProductStatus.md + - docs/Models/Components/ProfitAndLoss.md + - docs/Models/Components/ProfitAndLossFilter.md + - docs/Models/Components/PurchaseDetails.md + - docs/Models/Components/PurchaseOrder.md + - docs/Models/Components/PurchaseOrderInput.md + - docs/Models/Components/PurchaseOrderStatus.md + - docs/Models/Components/PurchaseOrdersFilter.md + - docs/Models/Components/PurchaseOrdersSort.md + - docs/Models/Components/PurchaseOrdersSortBy.md + - docs/Models/Components/Reports.md + - docs/Models/Components/RequestCountAllocation.md + - docs/Models/Components/RequestRate.md + - docs/Models/Components/RequestType.md + - docs/Models/Components/ResourceStatus.md + - docs/Models/Components/Resources.md + - docs/Models/Components/Salary.md + - docs/Models/Components/SalesDetails.md + - docs/Models/Components/Schedule.md + - docs/Models/Components/Schema.md + - docs/Models/Components/SchemaSupport.md + - docs/Models/Components/Scope.md + - docs/Models/Components/Security.md + - docs/Models/Components/Service.md + - docs/Models/Components/Session.md + - docs/Models/Components/SessionSettings.md + - docs/Models/Components/Settings.md + - docs/Models/Components/SharedLink.md + - docs/Models/Components/SharedLinkInput.md + - docs/Models/Components/SharedLinkTarget.md + - docs/Models/Components/ShowAs.md + - docs/Models/Components/SimpleFormFieldOption.md + - docs/Models/Components/SimpleFormFieldOptionValue.md + - docs/Models/Components/Six.md + - docs/Models/Components/SocialLink.md + - docs/Models/Components/SocialLinks.md + - docs/Models/Components/SortDirection.md + - docs/Models/Components/Stage.md + - docs/Models/Components/Stages.md + - docs/Models/Components/Status.md + - docs/Models/Components/SubAccounts.md + - docs/Models/Components/SubscriptionLevel.md + - docs/Models/Components/Subsidiaries.md + - docs/Models/Components/Subsidiary.md + - docs/Models/Components/SubsidiaryInput.md + - docs/Models/Components/SubsidiaryReference.md + - docs/Models/Components/SubsidiaryReferenceInput.md + - docs/Models/Components/SubsidiaryStatus.md + - docs/Models/Components/Supplier.md + - docs/Models/Components/SupplierInput.md + - docs/Models/Components/SupplierStatus.md + - docs/Models/Components/SuppliersFilter.md + - docs/Models/Components/SuppliersSort.md + - docs/Models/Components/SuppliersSortBy.md + - docs/Models/Components/SupportedProperty.md + - docs/Models/Components/Target.md + - docs/Models/Components/Tax.md + - docs/Models/Components/TaxRate.md + - docs/Models/Components/TaxRateInput.md + - docs/Models/Components/TaxRateStatus.md + - docs/Models/Components/TaxRatesFilter.md + - docs/Models/Components/Team.md + - docs/Models/Components/TheStartMonthOfFiscalYear.md + - docs/Models/Components/Theme.md + - docs/Models/Components/Ticket.md + - docs/Models/Components/TicketInput.md + - docs/Models/Components/TicketsSort.md + - docs/Models/Components/TicketsSortBy.md + - docs/Models/Components/TimeOffRequest.md + - docs/Models/Components/TimeOffRequestInput.md + - docs/Models/Components/TimeOffRequestStatus.md + - docs/Models/Components/TimeOffRequestStatusStatus.md + - docs/Models/Components/TimeOffRequestsFilter.md + - docs/Models/Components/TlsSupport.md + - docs/Models/Components/TrackingCategory.md + - docs/Models/Components/TrackingCategoryInput.md + - docs/Models/Components/TrackingCategoryStatus.md + - docs/Models/Components/TrackingItem.md + - docs/Models/Components/Type.md + - docs/Models/Components/UnexpectedErrorResponse.md + - docs/Models/Components/UnifiedApi.md + - docs/Models/Components/UnifiedApiId.md + - docs/Models/Components/UnifiedApis.md + - docs/Models/Components/UnifiedFile.md + - docs/Models/Components/UnifiedId.md + - docs/Models/Components/Unit.md + - docs/Models/Components/Units.md + - docs/Models/Components/UpdateAccountingDepartmentResponse.md + - docs/Models/Components/UpdateAccountingLocationResponse.md + - docs/Models/Components/UpdateActivityResponse.md + - docs/Models/Components/UpdateApplicantResponse.md + - docs/Models/Components/UpdateApplicationResponse.md + - docs/Models/Components/UpdateBillPaymentResponse.md + - docs/Models/Components/UpdateBillResponse.md + - docs/Models/Components/UpdateCommentResponse.md + - docs/Models/Components/UpdateCompanyResponse.md + - docs/Models/Components/UpdateConnectionResponse.md + - docs/Models/Components/UpdateConsumerRequest.md + - docs/Models/Components/UpdateConsumerResponse.md + - docs/Models/Components/UpdateContactResponse.md + - docs/Models/Components/UpdateCreditNoteResponse.md + - docs/Models/Components/UpdateCustomerResponse.md + - docs/Models/Components/UpdateDepartmentResponse.md + - docs/Models/Components/UpdateDriveGroupResponse.md + - docs/Models/Components/UpdateDriveResponse.md + - docs/Models/Components/UpdateEmployeeResponse.md + - docs/Models/Components/UpdateExpenseResponse.md + - docs/Models/Components/UpdateFileRequest.md + - docs/Models/Components/UpdateFileResponse.md + - docs/Models/Components/UpdateFolderRequest.md + - docs/Models/Components/UpdateFolderResponse.md + - docs/Models/Components/UpdateHrisCompanyResponse.md + - docs/Models/Components/UpdateInvoiceItemsResponse.md + - docs/Models/Components/UpdateInvoiceResponse.md + - docs/Models/Components/UpdateJournalEntryResponse.md + - docs/Models/Components/UpdateLeadResponse.md + - docs/Models/Components/UpdateLedgerAccountResponse.md + - docs/Models/Components/UpdateMessageResponse.md + - docs/Models/Components/UpdateNoteResponse.md + - docs/Models/Components/UpdateOpportunityResponse.md + - docs/Models/Components/UpdatePaymentResponse.md + - docs/Models/Components/UpdatePipelineResponse.md + - docs/Models/Components/UpdatePurchaseOrderResponse.md + - docs/Models/Components/UpdateSharedLinkResponse.md + - docs/Models/Components/UpdateSubsidiaryResponse.md + - docs/Models/Components/UpdateSupplierResponse.md + - docs/Models/Components/UpdateTaxRateResponse.md + - docs/Models/Components/UpdateTicketResponse.md + - docs/Models/Components/UpdateTimeOffRequestResponse.md + - docs/Models/Components/UpdateTrackingCategoryResponse.md + - docs/Models/Components/UpdateUserResponse.md + - docs/Models/Components/UpdateWebhookRequest.md + - docs/Models/Components/UpdateWebhookResponse.md + - docs/Models/Components/UploadSession.md + - docs/Models/Components/User.md + - docs/Models/Components/UserInput.md + - docs/Models/Components/ValidateConnectionStateResponse.md + - docs/Models/Components/ValidateConnectionStateResponseData.md + - docs/Models/Components/Value.md + - docs/Models/Components/Value5.md + - docs/Models/Components/Variants.md + - docs/Models/Components/VirtualWebhooks.md + - docs/Models/Components/Visibility.md + - docs/Models/Components/Webhook.md + - docs/Models/Components/WebhookEventType.md + - docs/Models/Components/WebhookSubscription.md + - docs/Models/Components/WebhookSupport.md + - docs/Models/Components/WebhookSupportResources.md + - docs/Models/Components/Website.md + - docs/Models/Components/WebsiteType.md + - docs/Models/Components/Websites.md + - docs/Models/Components/WorkPattern.md + - docs/Models/Errors/BadRequestResponse.md + - docs/Models/Errors/Detail.md + - docs/Models/Errors/NotFoundResponse.md + - docs/Models/Errors/NotFoundResponseDetail.md + - docs/Models/Errors/PaymentRequiredResponse.md + - docs/Models/Errors/UnauthorizedResponse.md + - docs/Models/Errors/UnauthorizedResponseDetail.md + - docs/Models/Errors/UnprocessableResponse.md + - docs/Models/Errors/UnprocessableResponseDetail.md + - docs/Models/Requests/AccountingAttachmentsAllRequest.md + - docs/Models/Requests/AccountingAttachmentsAllResponse.md + - docs/Models/Requests/AccountingAttachmentsDeleteRequest.md + - docs/Models/Requests/AccountingAttachmentsDeleteResponse.md + - docs/Models/Requests/AccountingAttachmentsDownloadRequest.md + - docs/Models/Requests/AccountingAttachmentsDownloadResponse.md + - docs/Models/Requests/AccountingAttachmentsOneRequest.md + - docs/Models/Requests/AccountingAttachmentsOneResponse.md + - docs/Models/Requests/AccountingBalanceSheetOneRequest.md + - docs/Models/Requests/AccountingBalanceSheetOneResponse.md + - docs/Models/Requests/AccountingBillPaymentsAddRequest.md + - docs/Models/Requests/AccountingBillPaymentsAddResponse.md + - docs/Models/Requests/AccountingBillPaymentsAllRequest.md + - docs/Models/Requests/AccountingBillPaymentsAllResponse.md + - docs/Models/Requests/AccountingBillPaymentsDeleteRequest.md + - docs/Models/Requests/AccountingBillPaymentsDeleteResponse.md + - docs/Models/Requests/AccountingBillPaymentsOneRequest.md + - docs/Models/Requests/AccountingBillPaymentsOneResponse.md + - docs/Models/Requests/AccountingBillPaymentsUpdateRequest.md + - docs/Models/Requests/AccountingBillPaymentsUpdateResponse.md + - docs/Models/Requests/AccountingBillsAddRequest.md + - docs/Models/Requests/AccountingBillsAddResponse.md + - docs/Models/Requests/AccountingBillsAllRequest.md + - docs/Models/Requests/AccountingBillsAllResponse.md + - docs/Models/Requests/AccountingBillsDeleteRequest.md + - docs/Models/Requests/AccountingBillsDeleteResponse.md + - docs/Models/Requests/AccountingBillsOneRequest.md + - docs/Models/Requests/AccountingBillsOneResponse.md + - docs/Models/Requests/AccountingBillsUpdateRequest.md + - docs/Models/Requests/AccountingBillsUpdateResponse.md + - docs/Models/Requests/AccountingCompanyInfoOneRequest.md + - docs/Models/Requests/AccountingCompanyInfoOneResponse.md + - docs/Models/Requests/AccountingCreditNotesAddRequest.md + - docs/Models/Requests/AccountingCreditNotesAddResponse.md + - docs/Models/Requests/AccountingCreditNotesAllRequest.md + - docs/Models/Requests/AccountingCreditNotesAllResponse.md + - docs/Models/Requests/AccountingCreditNotesDeleteRequest.md + - docs/Models/Requests/AccountingCreditNotesDeleteResponse.md + - docs/Models/Requests/AccountingCreditNotesOneRequest.md + - docs/Models/Requests/AccountingCreditNotesOneResponse.md + - docs/Models/Requests/AccountingCreditNotesUpdateRequest.md + - docs/Models/Requests/AccountingCreditNotesUpdateResponse.md + - docs/Models/Requests/AccountingCustomersAddRequest.md + - docs/Models/Requests/AccountingCustomersAddResponse.md + - docs/Models/Requests/AccountingCustomersAllRequest.md + - docs/Models/Requests/AccountingCustomersAllResponse.md + - docs/Models/Requests/AccountingCustomersDeleteRequest.md + - docs/Models/Requests/AccountingCustomersDeleteResponse.md + - docs/Models/Requests/AccountingCustomersOneRequest.md + - docs/Models/Requests/AccountingCustomersOneResponse.md + - docs/Models/Requests/AccountingCustomersUpdateRequest.md + - docs/Models/Requests/AccountingCustomersUpdateResponse.md + - docs/Models/Requests/AccountingDepartmentsAddRequest.md + - docs/Models/Requests/AccountingDepartmentsAddResponse.md + - docs/Models/Requests/AccountingDepartmentsAllRequest.md + - docs/Models/Requests/AccountingDepartmentsAllResponse.md + - docs/Models/Requests/AccountingDepartmentsDeleteRequest.md + - docs/Models/Requests/AccountingDepartmentsDeleteResponse.md + - docs/Models/Requests/AccountingDepartmentsOneRequest.md + - docs/Models/Requests/AccountingDepartmentsOneResponse.md + - docs/Models/Requests/AccountingDepartmentsUpdateRequest.md + - docs/Models/Requests/AccountingDepartmentsUpdateResponse.md + - docs/Models/Requests/AccountingExpensesAddRequest.md + - docs/Models/Requests/AccountingExpensesAddResponse.md + - docs/Models/Requests/AccountingExpensesAllRequest.md + - docs/Models/Requests/AccountingExpensesAllResponse.md + - docs/Models/Requests/AccountingExpensesDeleteRequest.md + - docs/Models/Requests/AccountingExpensesDeleteResponse.md + - docs/Models/Requests/AccountingExpensesOneRequest.md + - docs/Models/Requests/AccountingExpensesOneResponse.md + - docs/Models/Requests/AccountingExpensesUpdateRequest.md + - docs/Models/Requests/AccountingExpensesUpdateResponse.md + - docs/Models/Requests/AccountingInvoiceItemsAddRequest.md + - docs/Models/Requests/AccountingInvoiceItemsAddResponse.md + - docs/Models/Requests/AccountingInvoiceItemsAllRequest.md + - docs/Models/Requests/AccountingInvoiceItemsAllResponse.md + - docs/Models/Requests/AccountingInvoiceItemsDeleteRequest.md + - docs/Models/Requests/AccountingInvoiceItemsDeleteResponse.md + - docs/Models/Requests/AccountingInvoiceItemsOneRequest.md + - docs/Models/Requests/AccountingInvoiceItemsOneResponse.md + - docs/Models/Requests/AccountingInvoiceItemsUpdateRequest.md + - docs/Models/Requests/AccountingInvoiceItemsUpdateResponse.md + - docs/Models/Requests/AccountingInvoicesAddRequest.md + - docs/Models/Requests/AccountingInvoicesAddResponse.md + - docs/Models/Requests/AccountingInvoicesAllRequest.md + - docs/Models/Requests/AccountingInvoicesAllResponse.md + - docs/Models/Requests/AccountingInvoicesDeleteRequest.md + - docs/Models/Requests/AccountingInvoicesDeleteResponse.md + - docs/Models/Requests/AccountingInvoicesOneRequest.md + - docs/Models/Requests/AccountingInvoicesOneResponse.md + - docs/Models/Requests/AccountingInvoicesUpdateRequest.md + - docs/Models/Requests/AccountingInvoicesUpdateResponse.md + - docs/Models/Requests/AccountingJournalEntriesAddRequest.md + - docs/Models/Requests/AccountingJournalEntriesAddResponse.md + - docs/Models/Requests/AccountingJournalEntriesAllRequest.md + - docs/Models/Requests/AccountingJournalEntriesAllResponse.md + - docs/Models/Requests/AccountingJournalEntriesDeleteRequest.md + - docs/Models/Requests/AccountingJournalEntriesDeleteResponse.md + - docs/Models/Requests/AccountingJournalEntriesOneRequest.md + - docs/Models/Requests/AccountingJournalEntriesOneResponse.md + - docs/Models/Requests/AccountingJournalEntriesUpdateRequest.md + - docs/Models/Requests/AccountingJournalEntriesUpdateResponse.md + - docs/Models/Requests/AccountingLedgerAccountsAddRequest.md + - docs/Models/Requests/AccountingLedgerAccountsAddResponse.md + - docs/Models/Requests/AccountingLedgerAccountsAllRequest.md + - docs/Models/Requests/AccountingLedgerAccountsAllResponse.md + - docs/Models/Requests/AccountingLedgerAccountsDeleteRequest.md + - docs/Models/Requests/AccountingLedgerAccountsDeleteResponse.md + - docs/Models/Requests/AccountingLedgerAccountsOneRequest.md + - docs/Models/Requests/AccountingLedgerAccountsOneResponse.md + - docs/Models/Requests/AccountingLedgerAccountsUpdateRequest.md + - docs/Models/Requests/AccountingLedgerAccountsUpdateResponse.md + - docs/Models/Requests/AccountingLocationsAddRequest.md + - docs/Models/Requests/AccountingLocationsAddResponse.md + - docs/Models/Requests/AccountingLocationsAllRequest.md + - docs/Models/Requests/AccountingLocationsAllResponse.md + - docs/Models/Requests/AccountingLocationsDeleteRequest.md + - docs/Models/Requests/AccountingLocationsDeleteResponse.md + - docs/Models/Requests/AccountingLocationsOneRequest.md + - docs/Models/Requests/AccountingLocationsOneResponse.md + - docs/Models/Requests/AccountingLocationsUpdateRequest.md + - docs/Models/Requests/AccountingLocationsUpdateResponse.md + - docs/Models/Requests/AccountingPaymentsAddRequest.md + - docs/Models/Requests/AccountingPaymentsAddResponse.md + - docs/Models/Requests/AccountingPaymentsAllRequest.md + - docs/Models/Requests/AccountingPaymentsAllResponse.md + - docs/Models/Requests/AccountingPaymentsDeleteRequest.md + - docs/Models/Requests/AccountingPaymentsDeleteResponse.md + - docs/Models/Requests/AccountingPaymentsOneRequest.md + - docs/Models/Requests/AccountingPaymentsOneResponse.md + - docs/Models/Requests/AccountingPaymentsUpdateRequest.md + - docs/Models/Requests/AccountingPaymentsUpdateResponse.md + - docs/Models/Requests/AccountingProfitAndLossOneRequest.md + - docs/Models/Requests/AccountingProfitAndLossOneResponse.md + - docs/Models/Requests/AccountingPurchaseOrdersAddRequest.md + - docs/Models/Requests/AccountingPurchaseOrdersAddResponse.md + - docs/Models/Requests/AccountingPurchaseOrdersAllRequest.md + - docs/Models/Requests/AccountingPurchaseOrdersAllResponse.md + - docs/Models/Requests/AccountingPurchaseOrdersDeleteRequest.md + - docs/Models/Requests/AccountingPurchaseOrdersDeleteResponse.md + - docs/Models/Requests/AccountingPurchaseOrdersOneRequest.md + - docs/Models/Requests/AccountingPurchaseOrdersOneResponse.md + - docs/Models/Requests/AccountingPurchaseOrdersUpdateRequest.md + - docs/Models/Requests/AccountingPurchaseOrdersUpdateResponse.md + - docs/Models/Requests/AccountingSubsidiariesAddRequest.md + - docs/Models/Requests/AccountingSubsidiariesAddResponse.md + - docs/Models/Requests/AccountingSubsidiariesAllRequest.md + - docs/Models/Requests/AccountingSubsidiariesAllResponse.md + - docs/Models/Requests/AccountingSubsidiariesDeleteRequest.md + - docs/Models/Requests/AccountingSubsidiariesDeleteResponse.md + - docs/Models/Requests/AccountingSubsidiariesOneRequest.md + - docs/Models/Requests/AccountingSubsidiariesOneResponse.md + - docs/Models/Requests/AccountingSubsidiariesUpdateRequest.md + - docs/Models/Requests/AccountingSubsidiariesUpdateResponse.md + - docs/Models/Requests/AccountingSuppliersAddRequest.md + - docs/Models/Requests/AccountingSuppliersAddResponse.md + - docs/Models/Requests/AccountingSuppliersAllRequest.md + - docs/Models/Requests/AccountingSuppliersAllResponse.md + - docs/Models/Requests/AccountingSuppliersDeleteRequest.md + - docs/Models/Requests/AccountingSuppliersDeleteResponse.md + - docs/Models/Requests/AccountingSuppliersOneRequest.md + - docs/Models/Requests/AccountingSuppliersOneResponse.md + - docs/Models/Requests/AccountingSuppliersUpdateRequest.md + - docs/Models/Requests/AccountingSuppliersUpdateResponse.md + - docs/Models/Requests/AccountingTaxRatesAddRequest.md + - docs/Models/Requests/AccountingTaxRatesAddResponse.md + - docs/Models/Requests/AccountingTaxRatesAllRequest.md + - docs/Models/Requests/AccountingTaxRatesAllResponse.md + - docs/Models/Requests/AccountingTaxRatesDeleteRequest.md + - docs/Models/Requests/AccountingTaxRatesDeleteResponse.md + - docs/Models/Requests/AccountingTaxRatesOneRequest.md + - docs/Models/Requests/AccountingTaxRatesOneResponse.md + - docs/Models/Requests/AccountingTaxRatesUpdateRequest.md + - docs/Models/Requests/AccountingTaxRatesUpdateResponse.md + - docs/Models/Requests/AccountingTrackingCategoriesAddRequest.md + - docs/Models/Requests/AccountingTrackingCategoriesAddResponse.md + - docs/Models/Requests/AccountingTrackingCategoriesAllRequest.md + - docs/Models/Requests/AccountingTrackingCategoriesAllResponse.md + - docs/Models/Requests/AccountingTrackingCategoriesDeleteRequest.md + - docs/Models/Requests/AccountingTrackingCategoriesDeleteResponse.md + - docs/Models/Requests/AccountingTrackingCategoriesOneRequest.md + - docs/Models/Requests/AccountingTrackingCategoriesOneResponse.md + - docs/Models/Requests/AccountingTrackingCategoriesUpdateRequest.md + - docs/Models/Requests/AccountingTrackingCategoriesUpdateResponse.md + - docs/Models/Requests/AtsApplicantsAddRequest.md + - docs/Models/Requests/AtsApplicantsAddResponse.md + - docs/Models/Requests/AtsApplicantsAllRequest.md + - docs/Models/Requests/AtsApplicantsAllResponse.md + - docs/Models/Requests/AtsApplicantsDeleteRequest.md + - docs/Models/Requests/AtsApplicantsDeleteResponse.md + - docs/Models/Requests/AtsApplicantsOneRequest.md + - docs/Models/Requests/AtsApplicantsOneResponse.md + - docs/Models/Requests/AtsApplicantsUpdateRequest.md + - docs/Models/Requests/AtsApplicantsUpdateResponse.md + - docs/Models/Requests/AtsApplicationsAddRequest.md + - docs/Models/Requests/AtsApplicationsAddResponse.md + - docs/Models/Requests/AtsApplicationsAllRequest.md + - docs/Models/Requests/AtsApplicationsAllResponse.md + - docs/Models/Requests/AtsApplicationsDeleteRequest.md + - docs/Models/Requests/AtsApplicationsDeleteResponse.md + - docs/Models/Requests/AtsApplicationsOneRequest.md + - docs/Models/Requests/AtsApplicationsOneResponse.md + - docs/Models/Requests/AtsApplicationsUpdateRequest.md + - docs/Models/Requests/AtsApplicationsUpdateResponse.md + - docs/Models/Requests/AtsJobsAllRequest.md + - docs/Models/Requests/AtsJobsAllResponse.md + - docs/Models/Requests/AtsJobsOneRequest.md + - docs/Models/Requests/AtsJobsOneResponse.md + - docs/Models/Requests/ConnectorApiResourceCoverageOneRequest.md + - docs/Models/Requests/ConnectorApiResourceCoverageOneResponse.md + - docs/Models/Requests/ConnectorApiResourcesOneRequest.md + - docs/Models/Requests/ConnectorApiResourcesOneResponse.md + - docs/Models/Requests/ConnectorApisAllRequest.md + - docs/Models/Requests/ConnectorApisAllResponse.md + - docs/Models/Requests/ConnectorApisOneRequest.md + - docs/Models/Requests/ConnectorApisOneResponse.md + - docs/Models/Requests/ConnectorConnectorDocsOneRequest.md + - docs/Models/Requests/ConnectorConnectorDocsOneResponse.md + - docs/Models/Requests/ConnectorConnectorResourcesOneRequest.md + - docs/Models/Requests/ConnectorConnectorResourcesOneResponse.md + - docs/Models/Requests/ConnectorConnectorsAllRequest.md + - docs/Models/Requests/ConnectorConnectorsAllResponse.md + - docs/Models/Requests/ConnectorConnectorsOneRequest.md + - docs/Models/Requests/ConnectorConnectorsOneResponse.md + - docs/Models/Requests/CrmActivitiesAddRequest.md + - docs/Models/Requests/CrmActivitiesAddResponse.md + - docs/Models/Requests/CrmActivitiesAllRequest.md + - docs/Models/Requests/CrmActivitiesAllResponse.md + - docs/Models/Requests/CrmActivitiesDeleteRequest.md + - docs/Models/Requests/CrmActivitiesDeleteResponse.md + - docs/Models/Requests/CrmActivitiesOneRequest.md + - docs/Models/Requests/CrmActivitiesOneResponse.md + - docs/Models/Requests/CrmActivitiesUpdateRequest.md + - docs/Models/Requests/CrmActivitiesUpdateResponse.md + - docs/Models/Requests/CrmCompaniesAddRequest.md + - docs/Models/Requests/CrmCompaniesAddResponse.md + - docs/Models/Requests/CrmCompaniesAllRequest.md + - docs/Models/Requests/CrmCompaniesAllResponse.md + - docs/Models/Requests/CrmCompaniesDeleteRequest.md + - docs/Models/Requests/CrmCompaniesDeleteResponse.md + - docs/Models/Requests/CrmCompaniesOneRequest.md + - docs/Models/Requests/CrmCompaniesOneResponse.md + - docs/Models/Requests/CrmCompaniesUpdateRequest.md + - docs/Models/Requests/CrmCompaniesUpdateResponse.md + - docs/Models/Requests/CrmContactsAddRequest.md + - docs/Models/Requests/CrmContactsAddResponse.md + - docs/Models/Requests/CrmContactsAllRequest.md + - docs/Models/Requests/CrmContactsAllResponse.md + - docs/Models/Requests/CrmContactsDeleteRequest.md + - docs/Models/Requests/CrmContactsDeleteResponse.md + - docs/Models/Requests/CrmContactsOneRequest.md + - docs/Models/Requests/CrmContactsOneResponse.md + - docs/Models/Requests/CrmContactsUpdateRequest.md + - docs/Models/Requests/CrmContactsUpdateResponse.md + - docs/Models/Requests/CrmLeadsAddRequest.md + - docs/Models/Requests/CrmLeadsAddResponse.md + - docs/Models/Requests/CrmLeadsAllRequest.md + - docs/Models/Requests/CrmLeadsAllResponse.md + - docs/Models/Requests/CrmLeadsDeleteRequest.md + - docs/Models/Requests/CrmLeadsDeleteResponse.md + - docs/Models/Requests/CrmLeadsOneRequest.md + - docs/Models/Requests/CrmLeadsOneResponse.md + - docs/Models/Requests/CrmLeadsUpdateRequest.md + - docs/Models/Requests/CrmLeadsUpdateResponse.md + - docs/Models/Requests/CrmNotesAddRequest.md + - docs/Models/Requests/CrmNotesAddResponse.md + - docs/Models/Requests/CrmNotesAllRequest.md + - docs/Models/Requests/CrmNotesAllResponse.md + - docs/Models/Requests/CrmNotesDeleteRequest.md + - docs/Models/Requests/CrmNotesDeleteResponse.md + - docs/Models/Requests/CrmNotesOneRequest.md + - docs/Models/Requests/CrmNotesOneResponse.md + - docs/Models/Requests/CrmNotesUpdateRequest.md + - docs/Models/Requests/CrmNotesUpdateResponse.md + - docs/Models/Requests/CrmOpportunitiesAddRequest.md + - docs/Models/Requests/CrmOpportunitiesAddResponse.md + - docs/Models/Requests/CrmOpportunitiesAllRequest.md + - docs/Models/Requests/CrmOpportunitiesAllResponse.md + - docs/Models/Requests/CrmOpportunitiesDeleteRequest.md + - docs/Models/Requests/CrmOpportunitiesDeleteResponse.md + - docs/Models/Requests/CrmOpportunitiesOneRequest.md + - docs/Models/Requests/CrmOpportunitiesOneResponse.md + - docs/Models/Requests/CrmOpportunitiesUpdateRequest.md + - docs/Models/Requests/CrmOpportunitiesUpdateResponse.md + - docs/Models/Requests/CrmPipelinesAddRequest.md + - docs/Models/Requests/CrmPipelinesAddResponse.md + - docs/Models/Requests/CrmPipelinesAllRequest.md + - docs/Models/Requests/CrmPipelinesAllResponse.md + - docs/Models/Requests/CrmPipelinesDeleteRequest.md + - docs/Models/Requests/CrmPipelinesDeleteResponse.md + - docs/Models/Requests/CrmPipelinesOneRequest.md + - docs/Models/Requests/CrmPipelinesOneResponse.md + - docs/Models/Requests/CrmPipelinesUpdateRequest.md + - docs/Models/Requests/CrmPipelinesUpdateResponse.md + - docs/Models/Requests/CrmUsersAddRequest.md + - docs/Models/Requests/CrmUsersAddResponse.md + - docs/Models/Requests/CrmUsersAllRequest.md + - docs/Models/Requests/CrmUsersAllResponse.md + - docs/Models/Requests/CrmUsersDeleteRequest.md + - docs/Models/Requests/CrmUsersDeleteResponse.md + - docs/Models/Requests/CrmUsersOneRequest.md + - docs/Models/Requests/CrmUsersOneResponse.md + - docs/Models/Requests/CrmUsersUpdateRequest.md + - docs/Models/Requests/CrmUsersUpdateResponse.md + - docs/Models/Requests/EcommerceCustomersAllRequest.md + - docs/Models/Requests/EcommerceCustomersAllResponse.md + - docs/Models/Requests/EcommerceCustomersOneRequest.md + - docs/Models/Requests/EcommerceCustomersOneResponse.md + - docs/Models/Requests/EcommerceOrdersAllRequest.md + - docs/Models/Requests/EcommerceOrdersAllResponse.md + - docs/Models/Requests/EcommerceOrdersOneRequest.md + - docs/Models/Requests/EcommerceOrdersOneResponse.md + - docs/Models/Requests/EcommerceProductsAllRequest.md + - docs/Models/Requests/EcommerceProductsAllResponse.md + - docs/Models/Requests/EcommerceProductsOneRequest.md + - docs/Models/Requests/EcommerceProductsOneResponse.md + - docs/Models/Requests/EcommerceStoresOneRequest.md + - docs/Models/Requests/EcommerceStoresOneResponse.md + - docs/Models/Requests/FileStorageDriveGroupsAddRequest.md + - docs/Models/Requests/FileStorageDriveGroupsAddResponse.md + - docs/Models/Requests/FileStorageDriveGroupsAllRequest.md + - docs/Models/Requests/FileStorageDriveGroupsAllResponse.md + - docs/Models/Requests/FileStorageDriveGroupsDeleteRequest.md + - docs/Models/Requests/FileStorageDriveGroupsDeleteResponse.md + - docs/Models/Requests/FileStorageDriveGroupsOneRequest.md + - docs/Models/Requests/FileStorageDriveGroupsOneResponse.md + - docs/Models/Requests/FileStorageDriveGroupsUpdateRequest.md + - docs/Models/Requests/FileStorageDriveGroupsUpdateResponse.md + - docs/Models/Requests/FileStorageDrivesAddRequest.md + - docs/Models/Requests/FileStorageDrivesAddResponse.md + - docs/Models/Requests/FileStorageDrivesAllRequest.md + - docs/Models/Requests/FileStorageDrivesAllResponse.md + - docs/Models/Requests/FileStorageDrivesDeleteRequest.md + - docs/Models/Requests/FileStorageDrivesDeleteResponse.md + - docs/Models/Requests/FileStorageDrivesOneRequest.md + - docs/Models/Requests/FileStorageDrivesOneResponse.md + - docs/Models/Requests/FileStorageDrivesUpdateRequest.md + - docs/Models/Requests/FileStorageDrivesUpdateResponse.md + - docs/Models/Requests/FileStorageFilesAllRequest.md + - docs/Models/Requests/FileStorageFilesAllResponse.md + - docs/Models/Requests/FileStorageFilesDeleteRequest.md + - docs/Models/Requests/FileStorageFilesDeleteResponse.md + - docs/Models/Requests/FileStorageFilesDownloadRequest.md + - docs/Models/Requests/FileStorageFilesDownloadResponse.md + - docs/Models/Requests/FileStorageFilesExportRequest.md + - docs/Models/Requests/FileStorageFilesExportResponse.md + - docs/Models/Requests/FileStorageFilesOneRequest.md + - docs/Models/Requests/FileStorageFilesOneResponse.md + - docs/Models/Requests/FileStorageFilesSearchRequest.md + - docs/Models/Requests/FileStorageFilesSearchResponse.md + - docs/Models/Requests/FileStorageFilesUpdateRequest.md + - docs/Models/Requests/FileStorageFilesUpdateResponse.md + - docs/Models/Requests/FileStorageFoldersAddRequest.md + - docs/Models/Requests/FileStorageFoldersAddResponse.md + - docs/Models/Requests/FileStorageFoldersCopyRequest.md + - docs/Models/Requests/FileStorageFoldersCopyResponse.md + - docs/Models/Requests/FileStorageFoldersDeleteRequest.md + - docs/Models/Requests/FileStorageFoldersDeleteResponse.md + - docs/Models/Requests/FileStorageFoldersOneRequest.md + - docs/Models/Requests/FileStorageFoldersOneResponse.md + - docs/Models/Requests/FileStorageFoldersUpdateRequest.md + - docs/Models/Requests/FileStorageFoldersUpdateResponse.md + - docs/Models/Requests/FileStorageSharedLinksAddRequest.md + - docs/Models/Requests/FileStorageSharedLinksAddResponse.md + - docs/Models/Requests/FileStorageSharedLinksAllRequest.md + - docs/Models/Requests/FileStorageSharedLinksAllResponse.md + - docs/Models/Requests/FileStorageSharedLinksDeleteRequest.md + - docs/Models/Requests/FileStorageSharedLinksDeleteResponse.md + - docs/Models/Requests/FileStorageSharedLinksOneRequest.md + - docs/Models/Requests/FileStorageSharedLinksOneResponse.md + - docs/Models/Requests/FileStorageSharedLinksUpdateRequest.md + - docs/Models/Requests/FileStorageSharedLinksUpdateResponse.md + - docs/Models/Requests/FileStorageUploadSessionsAddRequest.md + - docs/Models/Requests/FileStorageUploadSessionsAddResponse.md + - docs/Models/Requests/FileStorageUploadSessionsDeleteRequest.md + - docs/Models/Requests/FileStorageUploadSessionsDeleteResponse.md + - docs/Models/Requests/FileStorageUploadSessionsFinishRequest.md + - docs/Models/Requests/FileStorageUploadSessionsFinishRequestBody.md + - docs/Models/Requests/FileStorageUploadSessionsFinishResponse.md + - docs/Models/Requests/FileStorageUploadSessionsOneRequest.md + - docs/Models/Requests/FileStorageUploadSessionsOneResponse.md + - docs/Models/Requests/HrisCompaniesAddRequest.md + - docs/Models/Requests/HrisCompaniesAddResponse.md + - docs/Models/Requests/HrisCompaniesAllRequest.md + - docs/Models/Requests/HrisCompaniesAllResponse.md + - docs/Models/Requests/HrisCompaniesDeleteRequest.md + - docs/Models/Requests/HrisCompaniesDeleteResponse.md + - docs/Models/Requests/HrisCompaniesOneRequest.md + - docs/Models/Requests/HrisCompaniesOneResponse.md + - docs/Models/Requests/HrisCompaniesUpdateRequest.md + - docs/Models/Requests/HrisCompaniesUpdateResponse.md + - docs/Models/Requests/HrisDepartmentsAddRequest.md + - docs/Models/Requests/HrisDepartmentsAddResponse.md + - docs/Models/Requests/HrisDepartmentsAllRequest.md + - docs/Models/Requests/HrisDepartmentsAllResponse.md + - docs/Models/Requests/HrisDepartmentsDeleteRequest.md + - docs/Models/Requests/HrisDepartmentsDeleteResponse.md + - docs/Models/Requests/HrisDepartmentsOneRequest.md + - docs/Models/Requests/HrisDepartmentsOneResponse.md + - docs/Models/Requests/HrisDepartmentsUpdateRequest.md + - docs/Models/Requests/HrisDepartmentsUpdateResponse.md + - docs/Models/Requests/HrisEmployeePayrollsAllRequest.md + - docs/Models/Requests/HrisEmployeePayrollsAllResponse.md + - docs/Models/Requests/HrisEmployeePayrollsOneRequest.md + - docs/Models/Requests/HrisEmployeePayrollsOneResponse.md + - docs/Models/Requests/HrisEmployeeSchedulesAllRequest.md + - docs/Models/Requests/HrisEmployeeSchedulesAllResponse.md + - docs/Models/Requests/HrisEmployeesAddRequest.md + - docs/Models/Requests/HrisEmployeesAddResponse.md + - docs/Models/Requests/HrisEmployeesAllRequest.md + - docs/Models/Requests/HrisEmployeesAllResponse.md + - docs/Models/Requests/HrisEmployeesDeleteRequest.md + - docs/Models/Requests/HrisEmployeesDeleteResponse.md + - docs/Models/Requests/HrisEmployeesOneRequest.md + - docs/Models/Requests/HrisEmployeesOneResponse.md + - docs/Models/Requests/HrisEmployeesUpdateRequest.md + - docs/Models/Requests/HrisEmployeesUpdateResponse.md + - docs/Models/Requests/HrisPayrollsAllRequest.md + - docs/Models/Requests/HrisPayrollsAllResponse.md + - docs/Models/Requests/HrisPayrollsOneRequest.md + - docs/Models/Requests/HrisPayrollsOneResponse.md + - docs/Models/Requests/HrisTimeOffRequestsAddRequest.md + - docs/Models/Requests/HrisTimeOffRequestsAddResponse.md + - docs/Models/Requests/HrisTimeOffRequestsAllRequest.md + - docs/Models/Requests/HrisTimeOffRequestsAllResponse.md + - docs/Models/Requests/HrisTimeOffRequestsDeleteRequest.md + - docs/Models/Requests/HrisTimeOffRequestsDeleteResponse.md + - docs/Models/Requests/HrisTimeOffRequestsOneRequest.md + - docs/Models/Requests/HrisTimeOffRequestsOneResponse.md + - docs/Models/Requests/HrisTimeOffRequestsUpdateRequest.md + - docs/Models/Requests/HrisTimeOffRequestsUpdateResponse.md + - docs/Models/Requests/IssueTrackingCollectionTagsAllRequest.md + - docs/Models/Requests/IssueTrackingCollectionTagsAllResponse.md + - docs/Models/Requests/IssueTrackingCollectionTicketCommentsAddRequest.md + - docs/Models/Requests/IssueTrackingCollectionTicketCommentsAddResponse.md + - docs/Models/Requests/IssueTrackingCollectionTicketCommentsAllRequest.md + - docs/Models/Requests/IssueTrackingCollectionTicketCommentsAllResponse.md + - docs/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteRequest.md + - docs/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteResponse.md + - docs/Models/Requests/IssueTrackingCollectionTicketCommentsOneRequest.md + - docs/Models/Requests/IssueTrackingCollectionTicketCommentsOneResponse.md + - docs/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateRequest.md + - docs/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateResponse.md + - docs/Models/Requests/IssueTrackingCollectionTicketsAddRequest.md + - docs/Models/Requests/IssueTrackingCollectionTicketsAddResponse.md + - docs/Models/Requests/IssueTrackingCollectionTicketsAllRequest.md + - docs/Models/Requests/IssueTrackingCollectionTicketsAllResponse.md + - docs/Models/Requests/IssueTrackingCollectionTicketsDeleteRequest.md + - docs/Models/Requests/IssueTrackingCollectionTicketsDeleteResponse.md + - docs/Models/Requests/IssueTrackingCollectionTicketsOneRequest.md + - docs/Models/Requests/IssueTrackingCollectionTicketsOneResponse.md + - docs/Models/Requests/IssueTrackingCollectionTicketsUpdateRequest.md + - docs/Models/Requests/IssueTrackingCollectionTicketsUpdateResponse.md + - docs/Models/Requests/IssueTrackingCollectionUsersAllRequest.md + - docs/Models/Requests/IssueTrackingCollectionUsersAllResponse.md + - docs/Models/Requests/IssueTrackingCollectionUsersOneRequest.md + - docs/Models/Requests/IssueTrackingCollectionUsersOneResponse.md + - docs/Models/Requests/IssueTrackingCollectionsAllRequest.md + - docs/Models/Requests/IssueTrackingCollectionsAllResponse.md + - docs/Models/Requests/IssueTrackingCollectionsOneRequest.md + - docs/Models/Requests/IssueTrackingCollectionsOneResponse.md + - docs/Models/Requests/SmsMessagesAddRequest.md + - docs/Models/Requests/SmsMessagesAddResponse.md + - docs/Models/Requests/SmsMessagesAllRequest.md + - docs/Models/Requests/SmsMessagesAllResponse.md + - docs/Models/Requests/SmsMessagesDeleteRequest.md + - docs/Models/Requests/SmsMessagesDeleteResponse.md + - docs/Models/Requests/SmsMessagesOneRequest.md + - docs/Models/Requests/SmsMessagesOneResponse.md + - docs/Models/Requests/SmsMessagesUpdateRequest.md + - docs/Models/Requests/SmsMessagesUpdateResponse.md + - docs/Models/Requests/VaultConnectionCustomMappingsAllRequest.md + - docs/Models/Requests/VaultConnectionCustomMappingsAllResponse.md + - docs/Models/Requests/VaultConnectionSettingsAllRequest.md + - docs/Models/Requests/VaultConnectionSettingsAllResponse.md + - docs/Models/Requests/VaultConnectionSettingsUpdateRequest.md + - docs/Models/Requests/VaultConnectionSettingsUpdateResponse.md + - docs/Models/Requests/VaultConnectionsAllRequest.md + - docs/Models/Requests/VaultConnectionsAllResponse.md + - docs/Models/Requests/VaultConnectionsDeleteRequest.md + - docs/Models/Requests/VaultConnectionsDeleteResponse.md + - docs/Models/Requests/VaultConnectionsImportRequest.md + - docs/Models/Requests/VaultConnectionsImportResponse.md + - docs/Models/Requests/VaultConnectionsOneRequest.md + - docs/Models/Requests/VaultConnectionsOneResponse.md + - docs/Models/Requests/VaultConnectionsTokenRequest.md + - docs/Models/Requests/VaultConnectionsTokenRequestBody.md + - docs/Models/Requests/VaultConnectionsTokenResponse.md + - docs/Models/Requests/VaultConnectionsUpdateRequest.md + - docs/Models/Requests/VaultConnectionsUpdateResponse.md + - docs/Models/Requests/VaultConsumerRequestCountsAllRequest.md + - docs/Models/Requests/VaultConsumerRequestCountsAllResponse.md + - docs/Models/Requests/VaultConsumersAddRequest.md + - docs/Models/Requests/VaultConsumersAddResponse.md + - docs/Models/Requests/VaultConsumersAllRequest.md + - docs/Models/Requests/VaultConsumersAllResponse.md + - docs/Models/Requests/VaultConsumersDeleteRequest.md + - docs/Models/Requests/VaultConsumersDeleteResponse.md + - docs/Models/Requests/VaultConsumersOneRequest.md + - docs/Models/Requests/VaultConsumersOneResponse.md + - docs/Models/Requests/VaultConsumersUpdateRequest.md + - docs/Models/Requests/VaultConsumersUpdateResponse.md + - docs/Models/Requests/VaultCreateCallbackStateRequest.md + - docs/Models/Requests/VaultCreateCallbackStateResponse.md + - docs/Models/Requests/VaultCustomFieldsAllRequest.md + - docs/Models/Requests/VaultCustomFieldsAllResponse.md + - docs/Models/Requests/VaultCustomMappingsAllRequest.md + - docs/Models/Requests/VaultCustomMappingsAllResponse.md + - docs/Models/Requests/VaultLogsAllRequest.md + - docs/Models/Requests/VaultLogsAllResponse.md + - docs/Models/Requests/VaultSessionsCreateRequest.md + - docs/Models/Requests/VaultSessionsCreateResponse.md + - docs/Models/Requests/VaultValidateConnectionStateRequest.md + - docs/Models/Requests/VaultValidateConnectionStateRequestBody.md + - docs/Models/Requests/VaultValidateConnectionStateResponse.md + - docs/Models/Requests/WebhookWebhooksAddRequest.md + - docs/Models/Requests/WebhookWebhooksAddResponse.md + - docs/Models/Requests/WebhookWebhooksAllRequest.md + - docs/Models/Requests/WebhookWebhooksAllResponse.md + - docs/Models/Requests/WebhookWebhooksDeleteRequest.md + - docs/Models/Requests/WebhookWebhooksDeleteResponse.md + - docs/Models/Requests/WebhookWebhooksOneRequest.md + - docs/Models/Requests/WebhookWebhooksOneResponse.md + - docs/Models/Requests/WebhookWebhooksUpdateRequest.md + - docs/Models/Requests/WebhookWebhooksUpdateResponse.md + - docs/sdks/accounting/README.md + - docs/sdks/activities/README.md + - docs/sdks/apideck/README.md + - docs/sdks/apideckcompanies/README.md + - docs/sdks/apideckcustomers/README.md + - docs/sdks/apideckdepartments/README.md + - docs/sdks/apiresourcecoverage/README.md + - docs/sdks/apiresources/README.md + - docs/sdks/apis/README.md + - docs/sdks/applicants/README.md + - docs/sdks/applications/README.md + - docs/sdks/ats/README.md + - docs/sdks/attachments/README.md + - docs/sdks/balancesheet/README.md + - docs/sdks/billpayments/README.md + - docs/sdks/bills/README.md + - docs/sdks/collections/README.md + - docs/sdks/collectiontags/README.md + - docs/sdks/collectionticketcomments/README.md + - docs/sdks/collectiontickets/README.md + - docs/sdks/collectionusers/README.md + - docs/sdks/companies/README.md + - docs/sdks/companyinfo/README.md + - docs/sdks/connectioncustommappings/README.md + - docs/sdks/connections/README.md + - docs/sdks/connectionsettings/README.md + - docs/sdks/connector/README.md + - docs/sdks/connectordocs/README.md + - docs/sdks/connectorresources/README.md + - docs/sdks/connectors/README.md + - docs/sdks/consumerrequestcounts/README.md + - docs/sdks/consumers/README.md + - docs/sdks/contacts/README.md + - docs/sdks/createcallback/README.md + - docs/sdks/creditnotes/README.md + - docs/sdks/crm/README.md + - docs/sdks/customers/README.md + - docs/sdks/customfields/README.md + - docs/sdks/custommappings/README.md + - docs/sdks/departments/README.md + - docs/sdks/drivegroups/README.md + - docs/sdks/drives/README.md + - docs/sdks/ecommerce/README.md + - docs/sdks/employeepayrolls/README.md + - docs/sdks/employees/README.md + - docs/sdks/employeeschedules/README.md + - docs/sdks/expenses/README.md + - docs/sdks/files/README.md + - docs/sdks/filestorage/README.md + - docs/sdks/folders/README.md + - docs/sdks/hris/README.md + - docs/sdks/invoiceitems/README.md + - docs/sdks/invoices/README.md + - docs/sdks/issuetracking/README.md + - docs/sdks/jobs/README.md + - docs/sdks/journalentries/README.md + - docs/sdks/leads/README.md + - docs/sdks/ledgeraccounts/README.md + - docs/sdks/locations/README.md + - docs/sdks/logs/README.md + - docs/sdks/messages/README.md + - docs/sdks/notes/README.md + - docs/sdks/opportunities/README.md + - docs/sdks/orders/README.md + - docs/sdks/payments/README.md + - docs/sdks/payrolls/README.md + - docs/sdks/pipelines/README.md + - docs/sdks/products/README.md + - docs/sdks/profitandloss/README.md + - docs/sdks/purchaseorders/README.md + - docs/sdks/sessions/README.md + - docs/sdks/sharedlinks/README.md + - docs/sdks/sms/README.md + - docs/sdks/stores/README.md + - docs/sdks/subsidiaries/README.md + - docs/sdks/suppliers/README.md + - docs/sdks/taxrates/README.md + - docs/sdks/timeoffrequests/README.md + - docs/sdks/trackingcategories/README.md + - docs/sdks/uploadsessions/README.md + - docs/sdks/users/README.md + - docs/sdks/validateconnection/README.md + - docs/sdks/vault/README.md + - docs/sdks/webhook/README.md + - docs/sdks/webhooks/README.md + - global.json + - src/Apideck/Unify/SDK/Accounting.cs + - src/Apideck/Unify/SDK/Activities.cs + - src/Apideck/Unify/SDK/ApiResourceCoverage.cs + - src/Apideck/Unify/SDK/ApiResources.cs + - src/Apideck/Unify/SDK/Apideck.Unify.SDK.csproj + - src/Apideck/Unify/SDK/Apideck.cs + - src/Apideck/Unify/SDK/ApideckCompanies.cs + - src/Apideck/Unify/SDK/ApideckCustomers.cs + - src/Apideck/Unify/SDK/ApideckDepartments.cs + - src/Apideck/Unify/SDK/Apis.cs + - src/Apideck/Unify/SDK/Applicants.cs + - src/Apideck/Unify/SDK/Applications.cs + - src/Apideck/Unify/SDK/Ats.cs + - src/Apideck/Unify/SDK/Attachments.cs + - src/Apideck/Unify/SDK/BalanceSheet.cs + - src/Apideck/Unify/SDK/BillPayments.cs + - src/Apideck/Unify/SDK/Bills.cs + - src/Apideck/Unify/SDK/CollectionTags.cs + - src/Apideck/Unify/SDK/CollectionTicketComments.cs + - src/Apideck/Unify/SDK/CollectionTickets.cs + - src/Apideck/Unify/SDK/CollectionUsers.cs + - src/Apideck/Unify/SDK/Collections.cs + - src/Apideck/Unify/SDK/Companies.cs + - src/Apideck/Unify/SDK/CompanyInfo.cs + - src/Apideck/Unify/SDK/ConnectionCustomMappings.cs + - src/Apideck/Unify/SDK/ConnectionSettings.cs + - src/Apideck/Unify/SDK/Connections.cs + - src/Apideck/Unify/SDK/Connector.cs + - src/Apideck/Unify/SDK/ConnectorDocs.cs + - src/Apideck/Unify/SDK/ConnectorResources.cs + - src/Apideck/Unify/SDK/Connectors.cs + - src/Apideck/Unify/SDK/ConsumerRequestCounts.cs + - src/Apideck/Unify/SDK/Consumers.cs + - src/Apideck/Unify/SDK/Contacts.cs + - src/Apideck/Unify/SDK/CreateCallback.cs + - src/Apideck/Unify/SDK/CreditNotes.cs + - src/Apideck/Unify/SDK/Crm.cs + - src/Apideck/Unify/SDK/CustomFields.cs + - src/Apideck/Unify/SDK/CustomMappings.cs + - src/Apideck/Unify/SDK/Customers.cs + - src/Apideck/Unify/SDK/Departments.cs + - src/Apideck/Unify/SDK/DriveGroups.cs + - src/Apideck/Unify/SDK/Drives.cs + - src/Apideck/Unify/SDK/Ecommerce.cs + - src/Apideck/Unify/SDK/EmployeePayrolls.cs + - src/Apideck/Unify/SDK/EmployeeSchedules.cs + - src/Apideck/Unify/SDK/Employees.cs + - src/Apideck/Unify/SDK/Expenses.cs + - src/Apideck/Unify/SDK/FileStorage.cs + - src/Apideck/Unify/SDK/Files.cs + - src/Apideck/Unify/SDK/Folders.cs + - src/Apideck/Unify/SDK/Hooks/HookTypes.cs + - src/Apideck/Unify/SDK/Hooks/SDKHooks.cs + - src/Apideck/Unify/SDK/Hris.cs + - src/Apideck/Unify/SDK/InvoiceItems.cs + - src/Apideck/Unify/SDK/Invoices.cs + - src/Apideck/Unify/SDK/IssueTracking.cs + - src/Apideck/Unify/SDK/Jobs.cs + - src/Apideck/Unify/SDK/JournalEntries.cs + - src/Apideck/Unify/SDK/Leads.cs + - src/Apideck/Unify/SDK/LedgerAccounts.cs + - src/Apideck/Unify/SDK/Locations.cs + - src/Apideck/Unify/SDK/Logs.cs + - src/Apideck/Unify/SDK/Messages.cs + - src/Apideck/Unify/SDK/Models/Components/AccountStatus.cs + - src/Apideck/Unify/SDK/Models/Components/AccountType.cs + - src/Apideck/Unify/SDK/Models/Components/AccountingDepartment.cs + - src/Apideck/Unify/SDK/Models/Components/AccountingDepartmentInput.cs + - src/Apideck/Unify/SDK/Models/Components/AccountingDepartmentsFilter.cs + - src/Apideck/Unify/SDK/Models/Components/AccountingLocation.cs + - src/Apideck/Unify/SDK/Models/Components/AccountingLocationInput.cs + - src/Apideck/Unify/SDK/Models/Components/AccountingLocationsFilter.cs + - src/Apideck/Unify/SDK/Models/Components/ActivitiesFilter.cs + - src/Apideck/Unify/SDK/Models/Components/ActivitiesSort.cs + - src/Apideck/Unify/SDK/Models/Components/ActivitiesSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/Activity.cs + - src/Apideck/Unify/SDK/Models/Components/ActivityAttendee.cs + - src/Apideck/Unify/SDK/Models/Components/ActivityAttendeeInput.cs + - src/Apideck/Unify/SDK/Models/Components/ActivityAttendeeStatus.cs + - src/Apideck/Unify/SDK/Models/Components/ActivityInput.cs + - src/Apideck/Unify/SDK/Models/Components/ActivityType.cs + - src/Apideck/Unify/SDK/Models/Components/Address.cs + - src/Apideck/Unify/SDK/Models/Components/Addresses.cs + - src/Apideck/Unify/SDK/Models/Components/Allocation.cs + - src/Apideck/Unify/SDK/Models/Components/AllocationInput.cs + - src/Apideck/Unify/SDK/Models/Components/AllocationType.cs + - src/Apideck/Unify/SDK/Models/Components/Allocations.cs + - src/Apideck/Unify/SDK/Models/Components/AllowActions.cs + - src/Apideck/Unify/SDK/Models/Components/Api.cs + - src/Apideck/Unify/SDK/Models/Components/ApiResource.cs + - src/Apideck/Unify/SDK/Models/Components/ApiResourceCoverage.cs + - src/Apideck/Unify/SDK/Models/Components/ApiStatus.cs + - src/Apideck/Unify/SDK/Models/Components/ApiType.cs + - src/Apideck/Unify/SDK/Models/Components/ApisFilter.cs + - src/Apideck/Unify/SDK/Models/Components/Applicant.cs + - src/Apideck/Unify/SDK/Models/Components/ApplicantInput.cs + - src/Apideck/Unify/SDK/Models/Components/ApplicantType.cs + - src/Apideck/Unify/SDK/Models/Components/ApplicantsFilter.cs + - src/Apideck/Unify/SDK/Models/Components/Application.cs + - src/Apideck/Unify/SDK/Models/Components/ApplicationInput.cs + - src/Apideck/Unify/SDK/Models/Components/ApplicationStatus.cs + - src/Apideck/Unify/SDK/Models/Components/Assignee.cs + - src/Apideck/Unify/SDK/Models/Components/AssigneeInput.cs + - src/Apideck/Unify/SDK/Models/Components/Attachment.cs + - src/Apideck/Unify/SDK/Models/Components/AttachmentReference.cs + - src/Apideck/Unify/SDK/Models/Components/AttachmentReferenceType.cs + - src/Apideck/Unify/SDK/Models/Components/Audience.cs + - src/Apideck/Unify/SDK/Models/Components/AuthType.cs + - src/Apideck/Unify/SDK/Models/Components/BalanceSheet.cs + - src/Apideck/Unify/SDK/Models/Components/BalanceSheetAssetsAccount.cs + - src/Apideck/Unify/SDK/Models/Components/BalanceSheetEquityAccount.cs + - src/Apideck/Unify/SDK/Models/Components/BalanceSheetFilter.cs + - src/Apideck/Unify/SDK/Models/Components/BalanceSheetLiabilitiesAccount.cs + - src/Apideck/Unify/SDK/Models/Components/BalanceSheetUncategorizedItemsAccount.cs + - src/Apideck/Unify/SDK/Models/Components/BankAccount.cs + - src/Apideck/Unify/SDK/Models/Components/Benefit.cs + - src/Apideck/Unify/SDK/Models/Components/Bill.cs + - src/Apideck/Unify/SDK/Models/Components/BillInput.cs + - src/Apideck/Unify/SDK/Models/Components/BillLineItem.cs + - src/Apideck/Unify/SDK/Models/Components/BillLineItemInput.cs + - src/Apideck/Unify/SDK/Models/Components/BillLineItemType.cs + - src/Apideck/Unify/SDK/Models/Components/BillPayment.cs + - src/Apideck/Unify/SDK/Models/Components/BillPaymentAllocationType.cs + - src/Apideck/Unify/SDK/Models/Components/BillPaymentAllocations.cs + - src/Apideck/Unify/SDK/Models/Components/BillPaymentInput.cs + - src/Apideck/Unify/SDK/Models/Components/BillPaymentType.cs + - src/Apideck/Unify/SDK/Models/Components/BillStatus.cs + - src/Apideck/Unify/SDK/Models/Components/BillsFilter.cs + - src/Apideck/Unify/SDK/Models/Components/BillsSort.cs + - src/Apideck/Unify/SDK/Models/Components/Blocks.cs + - src/Apideck/Unify/SDK/Models/Components/Branch.cs + - src/Apideck/Unify/SDK/Models/Components/By.cs + - src/Apideck/Unify/SDK/Models/Components/Categories.cs + - src/Apideck/Unify/SDK/Models/Components/Classification.cs + - src/Apideck/Unify/SDK/Models/Components/Collection.cs + - src/Apideck/Unify/SDK/Models/Components/CollectionTag.cs + - src/Apideck/Unify/SDK/Models/Components/CollectionTagInput.cs + - src/Apideck/Unify/SDK/Models/Components/CollectionTicketComment.cs + - src/Apideck/Unify/SDK/Models/Components/CollectionTicketCommentInput.cs + - src/Apideck/Unify/SDK/Models/Components/CollectionUser.cs + - src/Apideck/Unify/SDK/Models/Components/CollectionsSort.cs + - src/Apideck/Unify/SDK/Models/Components/CollectionsSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/CommentsSort.cs + - src/Apideck/Unify/SDK/Models/Components/CommentsSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/CompaniesFilter.cs + - src/Apideck/Unify/SDK/Models/Components/CompaniesSort.cs + - src/Apideck/Unify/SDK/Models/Components/CompaniesSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/Company.cs + - src/Apideck/Unify/SDK/Models/Components/CompanyInfo.cs + - src/Apideck/Unify/SDK/Models/Components/CompanyInput.cs + - src/Apideck/Unify/SDK/Models/Components/CompanyRowType.cs + - src/Apideck/Unify/SDK/Models/Components/CompanyStatus.cs + - src/Apideck/Unify/SDK/Models/Components/Compensation.cs + - src/Apideck/Unify/SDK/Models/Components/Components.cs + - src/Apideck/Unify/SDK/Models/Components/Configuration.cs + - src/Apideck/Unify/SDK/Models/Components/Connection.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectionConfiguration.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectionDefaults.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectionImportData.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectionImportDataSettings.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectionInput.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectionState.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectionStatus.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectionValue.cs + - src/Apideck/Unify/SDK/Models/Components/Connector.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectorAuthType.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectorDoc.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectorEvent.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectorOauthGrantType.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectorOauthScopes.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectorResource.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectorSetting.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectorSettingType.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectorStatus.cs + - src/Apideck/Unify/SDK/Models/Components/ConnectorsFilter.cs + - src/Apideck/Unify/SDK/Models/Components/Consumer.cs + - src/Apideck/Unify/SDK/Models/Components/ConsumerConnection.cs + - src/Apideck/Unify/SDK/Models/Components/ConsumerInput.cs + - src/Apideck/Unify/SDK/Models/Components/ConsumerMetadata.cs + - src/Apideck/Unify/SDK/Models/Components/ConsumerRequestCountsInDateRangeResponse.cs + - src/Apideck/Unify/SDK/Models/Components/ConsumerRequestCountsInDateRangeResponseData.cs + - src/Apideck/Unify/SDK/Models/Components/Contact.cs + - src/Apideck/Unify/SDK/Models/Components/ContactGender.cs + - src/Apideck/Unify/SDK/Models/Components/ContactInput.cs + - src/Apideck/Unify/SDK/Models/Components/ContactType.cs + - src/Apideck/Unify/SDK/Models/Components/ContactsFilter.cs + - src/Apideck/Unify/SDK/Models/Components/ContactsSort.cs + - src/Apideck/Unify/SDK/Models/Components/ContactsSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/CopyFolderRequest.cs + - src/Apideck/Unify/SDK/Models/Components/Coverage.cs + - src/Apideck/Unify/SDK/Models/Components/CreateAccountingDepartmentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateAccountingLocationResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateActivityResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateApplicantResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateApplicationResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateBillPaymentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateBillResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateCallbackState.cs + - src/Apideck/Unify/SDK/Models/Components/CreateCallbackStateResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateCallbackStateResponseData.cs + - src/Apideck/Unify/SDK/Models/Components/CreateCommentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateCompanyResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateConnectionResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateConsumerResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateContactResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateCreditNoteResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateCustomerResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateDepartmentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateDriveGroupResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateDriveResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateEmployeeResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateExpenseResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateFolderRequest.cs + - src/Apideck/Unify/SDK/Models/Components/CreateFolderResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateHrisCompanyResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateInvoiceItemResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateInvoiceResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateJournalEntryResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateLeadResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateLedgerAccountResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateMessageResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateNoteResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateOpportunityResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreatePaymentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreatePipelineResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreatePurchaseOrderResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateSessionResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateSessionResponseData.cs + - src/Apideck/Unify/SDK/Models/Components/CreateSharedLinkResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateSubsidiaryResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateSupplierResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateTaxRateResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateTicketResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateTimeOffRequestResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateTrackingCategoryResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateUploadSessionRequest.cs + - src/Apideck/Unify/SDK/Models/Components/CreateUploadSessionResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateUserResponse.cs + - src/Apideck/Unify/SDK/Models/Components/CreateWebhookRequest.cs + - src/Apideck/Unify/SDK/Models/Components/CreateWebhookResponse.cs + - src/Apideck/Unify/SDK/Models/Components/Credentials.cs + - src/Apideck/Unify/SDK/Models/Components/CreditNote.cs + - src/Apideck/Unify/SDK/Models/Components/CreditNoteInput.cs + - src/Apideck/Unify/SDK/Models/Components/CreditNoteStatus.cs + - src/Apideck/Unify/SDK/Models/Components/CreditNoteType.cs + - src/Apideck/Unify/SDK/Models/Components/CreditNotesFilter.cs + - src/Apideck/Unify/SDK/Models/Components/CreditNotesSort.cs + - src/Apideck/Unify/SDK/Models/Components/CreditNotesSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/Currency.cs + - src/Apideck/Unify/SDK/Models/Components/Cursors.cs + - src/Apideck/Unify/SDK/Models/Components/CustomField.cs + - src/Apideck/Unify/SDK/Models/Components/CustomFieldFinder.cs + - src/Apideck/Unify/SDK/Models/Components/CustomMapping.cs + - src/Apideck/Unify/SDK/Models/Components/CustomMappingInput.cs + - src/Apideck/Unify/SDK/Models/Components/CustomMappings.cs + - src/Apideck/Unify/SDK/Models/Components/Customer.cs + - src/Apideck/Unify/SDK/Models/Components/CustomerInput.cs + - src/Apideck/Unify/SDK/Models/Components/CustomerStatus.cs + - src/Apideck/Unify/SDK/Models/Components/CustomerStatusStatus.cs + - src/Apideck/Unify/SDK/Models/Components/CustomersFilter.cs + - src/Apideck/Unify/SDK/Models/Components/CustomersFilterStatus.cs + - src/Apideck/Unify/SDK/Models/Components/CustomersSort.cs + - src/Apideck/Unify/SDK/Models/Components/CustomersSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/Data.cs + - src/Apideck/Unify/SDK/Models/Components/Deduction.cs + - src/Apideck/Unify/SDK/Models/Components/Defaults.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteAccountingDepartmentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteAccountingLocationResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteActivityResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteApplicantResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteApplicationResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteAttachmentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteBillPaymentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteBillResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteCommentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteCompanyResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteConsumerResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteConsumerResponseData.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteContactResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteCreditNoteResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteCustomerResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteDepartmentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteDriveGroupResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteDriveResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteEmployeeResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteExpenseResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteFileResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteFolderResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteHrisCompanyResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteInvoiceResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteJournalEntryResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteLeadResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteLedgerAccountResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteMessageResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteNoteResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteOpportunityResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeletePaymentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeletePipelineResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeletePurchaseOrderResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteSharedLinkResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteSubsidiaryResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteSupplierResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteTaxRateResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteTicketResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteTimeOffRequestResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteTrackingCategoryResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteUploadSessionResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteUserResponse.cs + - src/Apideck/Unify/SDK/Models/Components/DeleteWebhookResponse.cs + - src/Apideck/Unify/SDK/Models/Components/Department.cs + - src/Apideck/Unify/SDK/Models/Components/DepartmentInput.cs + - src/Apideck/Unify/SDK/Models/Components/DepartmentStatus.cs + - src/Apideck/Unify/SDK/Models/Components/DeprecatedLinkedSupplier.cs + - src/Apideck/Unify/SDK/Models/Components/DeprecatedLinkedSupplierInput.cs + - src/Apideck/Unify/SDK/Models/Components/DeprecatedLinkedTrackingCategory.cs + - src/Apideck/Unify/SDK/Models/Components/Detail.cs + - src/Apideck/Unify/SDK/Models/Components/Direction.cs + - src/Apideck/Unify/SDK/Models/Components/DisabledReason.cs + - src/Apideck/Unify/SDK/Models/Components/Drive.cs + - src/Apideck/Unify/SDK/Models/Components/DriveGroup.cs + - src/Apideck/Unify/SDK/Models/Components/DriveGroupInput.cs + - src/Apideck/Unify/SDK/Models/Components/DriveGroupsFilter.cs + - src/Apideck/Unify/SDK/Models/Components/DriveInput.cs + - src/Apideck/Unify/SDK/Models/Components/DrivesFilter.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceAddress.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceCustomer.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceCustomerType.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceCustomersFilter.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceDiscount.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceOrder.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceOrderLineItem.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceOrderPaymentStatus.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceOrderStatus.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceOrdersFilter.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceProduct.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceProductCategories.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceProductImages.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceProductOptions.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceProductVariantsOptions.cs + - src/Apideck/Unify/SDK/Models/Components/EcommerceStore.cs + - src/Apideck/Unify/SDK/Models/Components/Email.cs + - src/Apideck/Unify/SDK/Models/Components/EmailType.cs + - src/Apideck/Unify/SDK/Models/Components/Employee.cs + - src/Apideck/Unify/SDK/Models/Components/EmployeeCompensation.cs + - src/Apideck/Unify/SDK/Models/Components/EmployeeCompensationInput.cs + - src/Apideck/Unify/SDK/Models/Components/EmployeeInput.cs + - src/Apideck/Unify/SDK/Models/Components/EmployeeJob.cs + - src/Apideck/Unify/SDK/Models/Components/EmployeeJobInput.cs + - src/Apideck/Unify/SDK/Models/Components/EmployeeJobStatus.cs + - src/Apideck/Unify/SDK/Models/Components/EmployeePayroll.cs + - src/Apideck/Unify/SDK/Models/Components/EmployeeSchedules.cs + - src/Apideck/Unify/SDK/Models/Components/EmployeesFilter.cs + - src/Apideck/Unify/SDK/Models/Components/EmployeesFilterEmploymentStatus.cs + - src/Apideck/Unify/SDK/Models/Components/EmployeesOneFilter.cs + - src/Apideck/Unify/SDK/Models/Components/EmployeesSort.cs + - src/Apideck/Unify/SDK/Models/Components/EmployeesSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/EmploymentRole.cs + - src/Apideck/Unify/SDK/Models/Components/EmploymentStatus.cs + - src/Apideck/Unify/SDK/Models/Components/EmploymentSubType.cs + - src/Apideck/Unify/SDK/Models/Components/EmploymentTerms.cs + - src/Apideck/Unify/SDK/Models/Components/EmploymentType.cs + - src/Apideck/Unify/SDK/Models/Components/Error.cs + - src/Apideck/Unify/SDK/Models/Components/EvenWeeks.cs + - src/Apideck/Unify/SDK/Models/Components/EventSource.cs + - src/Apideck/Unify/SDK/Models/Components/Expense.cs + - src/Apideck/Unify/SDK/Models/Components/ExpenseInput.cs + - src/Apideck/Unify/SDK/Models/Components/ExpenseLineItem.cs + - src/Apideck/Unify/SDK/Models/Components/ExpenseLineItemInput.cs + - src/Apideck/Unify/SDK/Models/Components/ExpensePaymentType.cs + - src/Apideck/Unify/SDK/Models/Components/ExpenseType.cs + - src/Apideck/Unify/SDK/Models/Components/Expenses.cs + - src/Apideck/Unify/SDK/Models/Components/ExtendPaths.cs + - src/Apideck/Unify/SDK/Models/Components/FileType.cs + - src/Apideck/Unify/SDK/Models/Components/FilesFilter.cs + - src/Apideck/Unify/SDK/Models/Components/FilesSearch.cs + - src/Apideck/Unify/SDK/Models/Components/FilesSort.cs + - src/Apideck/Unify/SDK/Models/Components/FilesSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/Five.cs + - src/Apideck/Unify/SDK/Models/Components/FlsaStatus.cs + - src/Apideck/Unify/SDK/Models/Components/Folder.cs + - src/Apideck/Unify/SDK/Models/Components/FormField.cs + - src/Apideck/Unify/SDK/Models/Components/FormFieldOption.cs + - src/Apideck/Unify/SDK/Models/Components/FormFieldOptionGroup.cs + - src/Apideck/Unify/SDK/Models/Components/FormFieldType.cs + - src/Apideck/Unify/SDK/Models/Components/Format.cs + - src/Apideck/Unify/SDK/Models/Components/Four.cs + - src/Apideck/Unify/SDK/Models/Components/FulfillmentStatus.cs + - src/Apideck/Unify/SDK/Models/Components/Gender.cs + - src/Apideck/Unify/SDK/Models/Components/GetAccountingDepartmentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetAccountingDepartmentsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetAccountingLocationResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetAccountingLocationsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetActivitiesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetActivityResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetApiResourceCoverageResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetApiResourceResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetApiResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetApisResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetApplicantResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetApplicantsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetApplicationResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetApplicationsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetAttachmentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetAttachmentsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetBalanceSheetResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetBillPaymentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetBillPaymentsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetBillResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetBillsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCollectionResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCollectionTagsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCollectionUserResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCollectionUsersResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCollectionsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCommentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCommentsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCompaniesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCompanyInfoResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCompanyResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetConnectionResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetConnectionsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetConnectorResourceResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetConnectorResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetConnectorsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetConsumerResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetConsumersResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetContactResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetContactsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCreditNoteResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCreditNotesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCustomFieldsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCustomMappingsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCustomerResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetCustomersResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetDepartmentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetDepartmentsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetDriveGroupResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetDriveGroupsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetDriveResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetDrivesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetEcommerceCustomerResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetEcommerceCustomersResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetEcommerceOrderResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetEcommerceOrdersResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetEmployeePayrollResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetEmployeePayrollsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetEmployeeResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetEmployeeSchedulesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetEmployeesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetExpenseResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetExpensesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetFileResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetFilesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetFolderResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetHrisCompaniesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetHrisCompanyResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetInvoiceItemResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetInvoiceItemsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetInvoiceResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetInvoicesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetJobResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetJobsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetJournalEntriesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetJournalEntryResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetLeadResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetLeadsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetLedgerAccountResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetLedgerAccountsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetLogsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetMessageResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetMessagesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetNoteResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetNotesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetOpportunitiesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetOpportunityResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetPaymentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetPaymentsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetPayrollResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetPayrollsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetPipelineResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetPipelinesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetProductResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetProductsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetProfitAndLossResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetPurchaseOrderResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetPurchaseOrdersResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetSharedLinkResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetSharedLinksResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetStoreResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetSubsidiariesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetSubsidiaryResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetSupplierResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetSuppliersResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetTaxRateResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetTaxRatesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetTicketResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetTicketsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetTimeOffRequestResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetTimeOffRequestsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetTrackingCategoriesResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetTrackingCategoryResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetUploadSessionResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetUserResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetUsersResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetWebhookResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GetWebhooksResponse.cs + - src/Apideck/Unify/SDK/Models/Components/GrossProfit.cs + - src/Apideck/Unify/SDK/Models/Components/HTTPMetadata.cs + - src/Apideck/Unify/SDK/Models/Components/HrisCompany.cs + - src/Apideck/Unify/SDK/Models/Components/HrisCompanyInput.cs + - src/Apideck/Unify/SDK/Models/Components/HrisCompanyStatus.cs + - src/Apideck/Unify/SDK/Models/Components/Images.cs + - src/Apideck/Unify/SDK/Models/Components/Income.cs + - src/Apideck/Unify/SDK/Models/Components/IntegrationState.cs + - src/Apideck/Unify/SDK/Models/Components/Invoice.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceInput.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceItem.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceItemFilter.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceItemFilterInvoiceItemType.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceItemInput.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceItemPurchaseDetails.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceItemSalesDetails.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceItemType.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceItemTypeType.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceItemsFilter.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceLineItem.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceLineItemInput.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceLineItemType.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceResponse.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceStatus.cs + - src/Apideck/Unify/SDK/Models/Components/InvoiceType.cs + - src/Apideck/Unify/SDK/Models/Components/InvoicesFilter.cs + - src/Apideck/Unify/SDK/Models/Components/InvoicesSort.cs + - src/Apideck/Unify/SDK/Models/Components/InvoicesSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/IssuesFilter.cs + - src/Apideck/Unify/SDK/Models/Components/Job.cs + - src/Apideck/Unify/SDK/Models/Components/JobLinks.cs + - src/Apideck/Unify/SDK/Models/Components/JobStatus.cs + - src/Apideck/Unify/SDK/Models/Components/JobType.cs + - src/Apideck/Unify/SDK/Models/Components/JournalEntriesFilter.cs + - src/Apideck/Unify/SDK/Models/Components/JournalEntriesSort.cs + - src/Apideck/Unify/SDK/Models/Components/JournalEntriesSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/JournalEntry.cs + - src/Apideck/Unify/SDK/Models/Components/JournalEntryInput.cs + - src/Apideck/Unify/SDK/Models/Components/JournalEntryLineItem.cs + - src/Apideck/Unify/SDK/Models/Components/JournalEntryLineItemInput.cs + - src/Apideck/Unify/SDK/Models/Components/JournalEntryLineItemType.cs + - src/Apideck/Unify/SDK/Models/Components/Lead.cs + - src/Apideck/Unify/SDK/Models/Components/LeadInput.cs + - src/Apideck/Unify/SDK/Models/Components/LeadsFilter.cs + - src/Apideck/Unify/SDK/Models/Components/LeadsSort.cs + - src/Apideck/Unify/SDK/Models/Components/LeadsSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/LeavingReason.cs + - src/Apideck/Unify/SDK/Models/Components/LedgerAccount.cs + - src/Apideck/Unify/SDK/Models/Components/LedgerAccountInput.cs + - src/Apideck/Unify/SDK/Models/Components/LedgerAccountType.cs + - src/Apideck/Unify/SDK/Models/Components/LedgerAccountsFilter.cs + - src/Apideck/Unify/SDK/Models/Components/LedgerAccountsSort.cs + - src/Apideck/Unify/SDK/Models/Components/LedgerAccountsSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedConnectorResource.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedCustomer.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedCustomerInput.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedEcommerceCustomer.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedEcommerceOrder.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedFolder.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedInvoiceItem.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedLedgerAccount.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedLedgerAccountInput.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedParentCustomer.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedResources.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedSupplier.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedSupplierInput.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedTaxRate.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedTaxRateInput.cs + - src/Apideck/Unify/SDK/Models/Components/LinkedTrackingCategory.cs + - src/Apideck/Unify/SDK/Models/Components/Links.cs + - src/Apideck/Unify/SDK/Models/Components/LocationStatus.cs + - src/Apideck/Unify/SDK/Models/Components/Log.cs + - src/Apideck/Unify/SDK/Models/Components/LogsFilter.cs + - src/Apideck/Unify/SDK/Models/Components/ManagedVia.cs + - src/Apideck/Unify/SDK/Models/Components/Manager.cs + - src/Apideck/Unify/SDK/Models/Components/Message.cs + - src/Apideck/Unify/SDK/Models/Components/MessageInput.cs + - src/Apideck/Unify/SDK/Models/Components/MessageStatus.cs + - src/Apideck/Unify/SDK/Models/Components/MessageType.cs + - src/Apideck/Unify/SDK/Models/Components/Meta.cs + - src/Apideck/Unify/SDK/Models/Components/Mode.cs + - src/Apideck/Unify/SDK/Models/Components/NetIncome.cs + - src/Apideck/Unify/SDK/Models/Components/NetOperatingIncome.cs + - src/Apideck/Unify/SDK/Models/Components/Note.cs + - src/Apideck/Unify/SDK/Models/Components/NoteInput.cs + - src/Apideck/Unify/SDK/Models/Components/Notes.cs + - src/Apideck/Unify/SDK/Models/Components/OAuthGrantType.cs + - src/Apideck/Unify/SDK/Models/Components/OauthCredentialsSource.cs + - src/Apideck/Unify/SDK/Models/Components/OauthScopes.cs + - src/Apideck/Unify/SDK/Models/Components/OddWeeks.cs + - src/Apideck/Unify/SDK/Models/Components/Operation.cs + - src/Apideck/Unify/SDK/Models/Components/OpportunitiesFilter.cs + - src/Apideck/Unify/SDK/Models/Components/OpportunitiesSort.cs + - src/Apideck/Unify/SDK/Models/Components/OpportunitiesSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/Opportunity.cs + - src/Apideck/Unify/SDK/Models/Components/OpportunityInput.cs + - src/Apideck/Unify/SDK/Models/Components/Options.cs + - src/Apideck/Unify/SDK/Models/Components/OrdersSort.cs + - src/Apideck/Unify/SDK/Models/Components/OrdersSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/Owner.cs + - src/Apideck/Unify/SDK/Models/Components/PaginationCoverage.cs + - src/Apideck/Unify/SDK/Models/Components/PaginationCoverageMode.cs + - src/Apideck/Unify/SDK/Models/Components/ParentAccount.cs + - src/Apideck/Unify/SDK/Models/Components/PassThroughBody.cs + - src/Apideck/Unify/SDK/Models/Components/Payment.cs + - src/Apideck/Unify/SDK/Models/Components/PaymentFrequency.cs + - src/Apideck/Unify/SDK/Models/Components/PaymentInput.cs + - src/Apideck/Unify/SDK/Models/Components/PaymentStatus.cs + - src/Apideck/Unify/SDK/Models/Components/PaymentType.cs + - src/Apideck/Unify/SDK/Models/Components/PaymentUnit.cs + - src/Apideck/Unify/SDK/Models/Components/PaymentsFilter.cs + - src/Apideck/Unify/SDK/Models/Components/PaymentsSort.cs + - src/Apideck/Unify/SDK/Models/Components/PaymentsSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/Payroll.cs + - src/Apideck/Unify/SDK/Models/Components/PayrollTotals.cs + - src/Apideck/Unify/SDK/Models/Components/PayrollsFilter.cs + - src/Apideck/Unify/SDK/Models/Components/PeriodType.cs + - src/Apideck/Unify/SDK/Models/Components/Permissions.cs + - src/Apideck/Unify/SDK/Models/Components/Person.cs + - src/Apideck/Unify/SDK/Models/Components/PersonInput.cs + - src/Apideck/Unify/SDK/Models/Components/PhoneNumber.cs + - src/Apideck/Unify/SDK/Models/Components/PhoneNumberType.cs + - src/Apideck/Unify/SDK/Models/Components/Pipeline.cs + - src/Apideck/Unify/SDK/Models/Components/PipelineInput.cs + - src/Apideck/Unify/SDK/Models/Components/PipelineStages.cs + - src/Apideck/Unify/SDK/Models/Components/Price.cs + - src/Apideck/Unify/SDK/Models/Components/Priority.cs + - src/Apideck/Unify/SDK/Models/Components/ProbationPeriod.cs + - src/Apideck/Unify/SDK/Models/Components/ProductStatus.cs + - src/Apideck/Unify/SDK/Models/Components/ProfitAndLoss.cs + - src/Apideck/Unify/SDK/Models/Components/ProfitAndLossFilter.cs + - src/Apideck/Unify/SDK/Models/Components/PurchaseDetails.cs + - src/Apideck/Unify/SDK/Models/Components/PurchaseOrder.cs + - src/Apideck/Unify/SDK/Models/Components/PurchaseOrderInput.cs + - src/Apideck/Unify/SDK/Models/Components/PurchaseOrderStatus.cs + - src/Apideck/Unify/SDK/Models/Components/PurchaseOrdersFilter.cs + - src/Apideck/Unify/SDK/Models/Components/PurchaseOrdersSort.cs + - src/Apideck/Unify/SDK/Models/Components/PurchaseOrdersSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/Reports.cs + - src/Apideck/Unify/SDK/Models/Components/RequestCountAllocation.cs + - src/Apideck/Unify/SDK/Models/Components/RequestRate.cs + - src/Apideck/Unify/SDK/Models/Components/RequestType.cs + - src/Apideck/Unify/SDK/Models/Components/ResourceStatus.cs + - src/Apideck/Unify/SDK/Models/Components/Resources.cs + - src/Apideck/Unify/SDK/Models/Components/Salary.cs + - src/Apideck/Unify/SDK/Models/Components/SalesDetails.cs + - src/Apideck/Unify/SDK/Models/Components/Schedule.cs + - src/Apideck/Unify/SDK/Models/Components/Schema.cs + - src/Apideck/Unify/SDK/Models/Components/SchemaSupport.cs + - src/Apideck/Unify/SDK/Models/Components/Scope.cs + - src/Apideck/Unify/SDK/Models/Components/Security.cs + - src/Apideck/Unify/SDK/Models/Components/Service.cs + - src/Apideck/Unify/SDK/Models/Components/Session.cs + - src/Apideck/Unify/SDK/Models/Components/SessionSettings.cs + - src/Apideck/Unify/SDK/Models/Components/Settings.cs + - src/Apideck/Unify/SDK/Models/Components/SharedLink.cs + - src/Apideck/Unify/SDK/Models/Components/SharedLinkInput.cs + - src/Apideck/Unify/SDK/Models/Components/SharedLinkTarget.cs + - src/Apideck/Unify/SDK/Models/Components/ShowAs.cs + - src/Apideck/Unify/SDK/Models/Components/SimpleFormFieldOption.cs + - src/Apideck/Unify/SDK/Models/Components/SimpleFormFieldOptionValue.cs + - src/Apideck/Unify/SDK/Models/Components/Six.cs + - src/Apideck/Unify/SDK/Models/Components/SocialLink.cs + - src/Apideck/Unify/SDK/Models/Components/SocialLinks.cs + - src/Apideck/Unify/SDK/Models/Components/SortDirection.cs + - src/Apideck/Unify/SDK/Models/Components/Stage.cs + - src/Apideck/Unify/SDK/Models/Components/Stages.cs + - src/Apideck/Unify/SDK/Models/Components/Status.cs + - src/Apideck/Unify/SDK/Models/Components/SubAccounts.cs + - src/Apideck/Unify/SDK/Models/Components/SubscriptionLevel.cs + - src/Apideck/Unify/SDK/Models/Components/Subsidiaries.cs + - src/Apideck/Unify/SDK/Models/Components/Subsidiary.cs + - src/Apideck/Unify/SDK/Models/Components/SubsidiaryInput.cs + - src/Apideck/Unify/SDK/Models/Components/SubsidiaryReference.cs + - src/Apideck/Unify/SDK/Models/Components/SubsidiaryReferenceInput.cs + - src/Apideck/Unify/SDK/Models/Components/SubsidiaryStatus.cs + - src/Apideck/Unify/SDK/Models/Components/Supplier.cs + - src/Apideck/Unify/SDK/Models/Components/SupplierInput.cs + - src/Apideck/Unify/SDK/Models/Components/SupplierStatus.cs + - src/Apideck/Unify/SDK/Models/Components/SuppliersFilter.cs + - src/Apideck/Unify/SDK/Models/Components/SuppliersSort.cs + - src/Apideck/Unify/SDK/Models/Components/SuppliersSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/SupportedProperty.cs + - src/Apideck/Unify/SDK/Models/Components/Target.cs + - src/Apideck/Unify/SDK/Models/Components/Tax.cs + - src/Apideck/Unify/SDK/Models/Components/TaxRate.cs + - src/Apideck/Unify/SDK/Models/Components/TaxRateInput.cs + - src/Apideck/Unify/SDK/Models/Components/TaxRateStatus.cs + - src/Apideck/Unify/SDK/Models/Components/TaxRatesFilter.cs + - src/Apideck/Unify/SDK/Models/Components/Team.cs + - src/Apideck/Unify/SDK/Models/Components/TheStartMonthOfFiscalYear.cs + - src/Apideck/Unify/SDK/Models/Components/Theme.cs + - src/Apideck/Unify/SDK/Models/Components/Ticket.cs + - src/Apideck/Unify/SDK/Models/Components/TicketInput.cs + - src/Apideck/Unify/SDK/Models/Components/TicketsSort.cs + - src/Apideck/Unify/SDK/Models/Components/TicketsSortBy.cs + - src/Apideck/Unify/SDK/Models/Components/TimeOffRequest.cs + - src/Apideck/Unify/SDK/Models/Components/TimeOffRequestInput.cs + - src/Apideck/Unify/SDK/Models/Components/TimeOffRequestStatus.cs + - src/Apideck/Unify/SDK/Models/Components/TimeOffRequestStatusStatus.cs + - src/Apideck/Unify/SDK/Models/Components/TimeOffRequestsFilter.cs + - src/Apideck/Unify/SDK/Models/Components/TlsSupport.cs + - src/Apideck/Unify/SDK/Models/Components/TrackingCategory.cs + - src/Apideck/Unify/SDK/Models/Components/TrackingCategoryInput.cs + - src/Apideck/Unify/SDK/Models/Components/TrackingCategoryStatus.cs + - src/Apideck/Unify/SDK/Models/Components/TrackingItem.cs + - src/Apideck/Unify/SDK/Models/Components/Type.cs + - src/Apideck/Unify/SDK/Models/Components/UnexpectedErrorResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UnifiedApi.cs + - src/Apideck/Unify/SDK/Models/Components/UnifiedApiId.cs + - src/Apideck/Unify/SDK/Models/Components/UnifiedApis.cs + - src/Apideck/Unify/SDK/Models/Components/UnifiedFile.cs + - src/Apideck/Unify/SDK/Models/Components/UnifiedId.cs + - src/Apideck/Unify/SDK/Models/Components/Unit.cs + - src/Apideck/Unify/SDK/Models/Components/Units.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateAccountingDepartmentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateAccountingLocationResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateActivityResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateApplicantResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateApplicationResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateBillPaymentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateBillResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateCommentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateCompanyResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateConnectionResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateConsumerRequest.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateConsumerResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateContactResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateCreditNoteResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateCustomerResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateDepartmentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateDriveGroupResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateDriveResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateEmployeeResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateExpenseResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateFileRequest.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateFileResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateFolderRequest.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateFolderResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateHrisCompanyResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateInvoiceItemsResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateInvoiceResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateJournalEntryResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateLeadResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateLedgerAccountResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateMessageResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateNoteResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateOpportunityResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdatePaymentResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdatePipelineResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdatePurchaseOrderResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateSharedLinkResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateSubsidiaryResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateSupplierResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateTaxRateResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateTicketResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateTimeOffRequestResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateTrackingCategoryResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateUserResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateWebhookRequest.cs + - src/Apideck/Unify/SDK/Models/Components/UpdateWebhookResponse.cs + - src/Apideck/Unify/SDK/Models/Components/UploadSession.cs + - src/Apideck/Unify/SDK/Models/Components/User.cs + - src/Apideck/Unify/SDK/Models/Components/UserInput.cs + - src/Apideck/Unify/SDK/Models/Components/ValidateConnectionStateResponse.cs + - src/Apideck/Unify/SDK/Models/Components/ValidateConnectionStateResponseData.cs + - src/Apideck/Unify/SDK/Models/Components/Value.cs + - src/Apideck/Unify/SDK/Models/Components/Value5.cs + - src/Apideck/Unify/SDK/Models/Components/Variants.cs + - src/Apideck/Unify/SDK/Models/Components/VirtualWebhooks.cs + - src/Apideck/Unify/SDK/Models/Components/Visibility.cs + - src/Apideck/Unify/SDK/Models/Components/Webhook.cs + - src/Apideck/Unify/SDK/Models/Components/WebhookEventType.cs + - src/Apideck/Unify/SDK/Models/Components/WebhookSubscription.cs + - src/Apideck/Unify/SDK/Models/Components/WebhookSupport.cs + - src/Apideck/Unify/SDK/Models/Components/WebhookSupportResources.cs + - src/Apideck/Unify/SDK/Models/Components/Website.cs + - src/Apideck/Unify/SDK/Models/Components/WebsiteType.cs + - src/Apideck/Unify/SDK/Models/Components/Websites.cs + - src/Apideck/Unify/SDK/Models/Components/WorkPattern.cs + - src/Apideck/Unify/SDK/Models/Errors/APIException.cs + - src/Apideck/Unify/SDK/Models/Errors/BadRequestResponse.cs + - src/Apideck/Unify/SDK/Models/Errors/Detail.cs + - src/Apideck/Unify/SDK/Models/Errors/NotFoundResponse.cs + - src/Apideck/Unify/SDK/Models/Errors/NotFoundResponseDetail.cs + - src/Apideck/Unify/SDK/Models/Errors/PaymentRequiredResponse.cs + - src/Apideck/Unify/SDK/Models/Errors/UnauthorizedResponse.cs + - src/Apideck/Unify/SDK/Models/Errors/UnauthorizedResponseDetail.cs + - src/Apideck/Unify/SDK/Models/Errors/UnprocessableResponse.cs + - src/Apideck/Unify/SDK/Models/Errors/UnprocessableResponseDetail.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDownloadRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDownloadResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBalanceSheetOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBalanceSheetOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingBillsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCompanyInfoOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCompanyInfoOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingProfitAndLossOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingProfitAndLossOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsJobsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsJobsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsJobsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/AtsJobsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourceCoverageOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourceCoverageOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourcesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourcesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorApisAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorApisAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorApisOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorApisOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorDocsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorDocsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorResourcesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorResourcesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmContactsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmContactsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmContactsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmContactsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmContactsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmContactsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmContactsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmContactsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmContactsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmContactsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmLeadsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmLeadsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmLeadsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmLeadsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmLeadsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmLeadsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmNotesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmNotesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmNotesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmNotesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmNotesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmNotesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmNotesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmNotesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmNotesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmNotesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmUsersAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmUsersAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmUsersAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmUsersAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmUsersDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmUsersDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmUsersOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmUsersOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmUsersUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/CrmUsersUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/EcommerceStoresOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/EcommerceStoresOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDownloadRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDownloadResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesExportRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesExportResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesSearchRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesSearchResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersCopyRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersCopyResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsFinishRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsFinishRequestBody.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsFinishResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeeSchedulesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeeSchedulesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTagsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTagsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/SmsMessagesDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/SmsMessagesDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/SmsMessagesOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/SmsMessagesOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/SmsMessagesUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/SmsMessagesUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionCustomMappingsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionCustomMappingsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsImportRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsImportResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsTokenRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsTokenRequestBody.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsTokenResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConsumerRequestCountsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConsumerRequestCountsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConsumersDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConsumersDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConsumersOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConsumersOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConsumersUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultConsumersUpdateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultCreateCallbackStateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultCreateCallbackStateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultCustomFieldsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultCustomFieldsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultCustomMappingsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultCustomMappingsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultLogsAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultLogsAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultSessionsCreateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultSessionsCreateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultValidateConnectionStateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultValidateConnectionStateRequestBody.cs + - src/Apideck/Unify/SDK/Models/Requests/VaultValidateConnectionStateResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAddRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAddResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAllRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAllResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksDeleteRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksDeleteResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksOneRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksOneResponse.cs + - src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksUpdateRequest.cs + - src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksUpdateResponse.cs + - src/Apideck/Unify/SDK/Notes.cs + - src/Apideck/Unify/SDK/Opportunities.cs + - src/Apideck/Unify/SDK/Orders.cs + - src/Apideck/Unify/SDK/Payments.cs + - src/Apideck/Unify/SDK/Payrolls.cs + - src/Apideck/Unify/SDK/Pipelines.cs + - src/Apideck/Unify/SDK/Products.cs + - src/Apideck/Unify/SDK/ProfitAndLoss.cs + - src/Apideck/Unify/SDK/PurchaseOrders.cs + - src/Apideck/Unify/SDK/Sessions.cs + - src/Apideck/Unify/SDK/SharedLinks.cs + - src/Apideck/Unify/SDK/Sms.cs + - src/Apideck/Unify/SDK/Stores.cs + - src/Apideck/Unify/SDK/Subsidiaries.cs + - src/Apideck/Unify/SDK/Suppliers.cs + - src/Apideck/Unify/SDK/TaxRates.cs + - src/Apideck/Unify/SDK/TimeOffRequests.cs + - src/Apideck/Unify/SDK/TrackingCategories.cs + - src/Apideck/Unify/SDK/UploadSessions.cs + - src/Apideck/Unify/SDK/Users.cs + - src/Apideck/Unify/SDK/Utils/AnyDeserializer.cs + - src/Apideck/Unify/SDK/Utils/BigIntStrConverter.cs + - src/Apideck/Unify/SDK/Utils/DecimalStrConverter.cs + - src/Apideck/Unify/SDK/Utils/EnumConverter.cs + - src/Apideck/Unify/SDK/Utils/FlexibleObjectDeserializer.cs + - src/Apideck/Unify/SDK/Utils/HeaderSerializer.cs + - src/Apideck/Unify/SDK/Utils/IsoDateTimeSerializer.cs + - src/Apideck/Unify/SDK/Utils/RequestBodySerializer.cs + - src/Apideck/Unify/SDK/Utils/ResponseBodyDeserializer.cs + - src/Apideck/Unify/SDK/Utils/Retries/BackoffStrategy.cs + - src/Apideck/Unify/SDK/Utils/Retries/Retries.cs + - src/Apideck/Unify/SDK/Utils/Retries/RetryConfig.cs + - src/Apideck/Unify/SDK/Utils/SecurityMetadata.cs + - src/Apideck/Unify/SDK/Utils/SpeakeasyHttpClient.cs + - src/Apideck/Unify/SDK/Utils/SpeakeasyMetadata.cs + - src/Apideck/Unify/SDK/Utils/URLBuilder.cs + - src/Apideck/Unify/SDK/Utils/Utilities.cs + - src/Apideck/Unify/SDK/ValidateConnection.cs + - src/Apideck/Unify/SDK/Vault.cs + - src/Apideck/Unify/SDK/Webhook.cs + - src/Apideck/Unify/SDK/Webhooks.cs +examples: + accounting.taxRatesAll: + "": + parameters: + query: + filter: {"assets": true, "equity": true, "expenses": true, "liabilities": true, "revenue": true} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "tax-rates", "operation": "all", "data": [{"id": "1234", "name": "GST on Purchases", "code": "ABN", "description": "Reduced rate GST Purchases", "effective_tax_rate": 10, "total_tax_rate": 10, "tax_payable_account_id": "123456", "tax_remitted_account_id": "123456", "components": [{"id": "10", "name": "GST", "rate": 10, "compound": true}, {"id": "10", "name": "GST", "rate": 10, "compound": true}], "type": "NONE", "report_tax_type": "NONE", "original_tax_rate_id": "12345", "status": "active", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": []}]}, {"id": "1234", "name": "GST on Purchases", "code": "ABN", "description": "Reduced rate GST Purchases", "effective_tax_rate": 10, "total_tax_rate": 10, "tax_payable_account_id": "123456", "tax_remitted_account_id": "123456", "components": [], "type": "NONE", "report_tax_type": "NONE", "original_tax_rate_id": "12345", "status": "active", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "1234", "name": "GST on Purchases", "code": "ABN", "description": "Reduced rate GST Purchases", "effective_tax_rate": 10, "total_tax_rate": 10, "tax_payable_account_id": "123456", "tax_remitted_account_id": "123456", "components": [{"id": "10", "name": "GST", "rate": 10, "compound": true}, {"id": "10", "name": "GST", "rate": 10, "compound": true}], "type": "NONE", "report_tax_type": "NONE", "original_tax_rate_id": "12345", "status": "active", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.taxRatesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"id": "1234", "name": "GST on Purchases", "code": "ABN", "description": "Reduced rate GST Purchases", "effective_tax_rate": 10, "total_tax_rate": 10, "tax_payable_account_id": "123456", "tax_remitted_account_id": "123456", "components": [{"id": "10", "name": "GST", "rate": 10, "compound": true}], "type": "NONE", "report_tax_type": "NONE", "original_tax_rate_id": "12345", "status": "active", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "tax-rates", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.taxRatesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "tax-rates", "operation": "one", "data": {"id": "1234", "name": "GST on Purchases", "code": "ABN", "description": "Reduced rate GST Purchases", "effective_tax_rate": 10, "total_tax_rate": 10, "tax_payable_account_id": "123456", "tax_remitted_account_id": "123456", "components": [{"id": "10", "name": "GST", "rate": 10, "compound": true}, {"id": "10", "name": "GST", "rate": 10, "compound": true}], "type": "NONE", "report_tax_type": "NONE", "original_tax_rate_id": "12345", "status": "active", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.taxRatesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"id": "1234", "name": "GST on Purchases", "code": "ABN", "description": "Reduced rate GST Purchases", "effective_tax_rate": 10, "total_tax_rate": 10, "tax_payable_account_id": "123456", "tax_remitted_account_id": "123456", "components": [{"id": "10", "name": "GST", "rate": 10, "compound": true}, {"id": "10", "name": "GST", "rate": 10, "compound": true}, {"id": "10", "name": "GST", "rate": 10, "compound": true}], "type": "NONE", "report_tax_type": "NONE", "original_tax_rate_id": "12345", "status": "active", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "tax-rates", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.taxRatesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "tax-rates", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.billsAll: + "": + parameters: + query: + filter: {"updated_since": "2020-09-30T07:43:32.000Z"} + sort: {"by": "updated_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "bills", "operation": "all", "data": [{"id": "12345", "downstream_id": "12345", "bill_number": "10001", "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "bill_date": "2020-09-30", "due_date": "2020-10-30", "paid_date": "2020-10-30", "po_number": "90000117", "reference": "123456", "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "expense_account", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "expense_account", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "tracking_categories": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}], "terms": "Net 30 days", "balance": 27500, "deposit": 0, "sub_total": 27500, "total_tax": 2500, "total": 27500, "tax_code": "1234", "notes": "Some notes about this bill.", "status": "draft", "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "payment_method": "cash", "channel": "email", "language": "EN", "accounting_by_row": false, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "discount_percentage": 5.5, "tracking_categories": [], "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [], "accounting_period": "01-24"}, {"id": "12345", "downstream_id": "12345", "bill_number": "10001", "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "bill_date": "2020-09-30", "due_date": "2020-10-30", "paid_date": "2020-10-30", "po_number": "90000117", "reference": "123456", "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "expense_account", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "expense_account", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "tracking_categories": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}], "terms": "Net 30 days", "balance": 27500, "deposit": 0, "sub_total": 27500, "total_tax": 2500, "total": 27500, "tax_code": "1234", "notes": "Some notes about this bill.", "status": "draft", "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "payment_method": "cash", "channel": "email", "language": "EN", "accounting_by_row": false, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "discount_percentage": 5.5, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [], "accounting_period": "01-24"}, {"id": "12345", "downstream_id": "12345", "bill_number": "10001", "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "bill_date": "2020-09-30", "due_date": "2020-10-30", "paid_date": "2020-10-30", "po_number": "90000117", "reference": "123456", "line_items": [], "terms": "Net 30 days", "balance": 27500, "deposit": 0, "sub_total": 27500, "total_tax": 2500, "total": 27500, "tax_code": "1234", "notes": "Some notes about this bill.", "status": "draft", "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "payment_method": "cash", "channel": "email", "language": "EN", "accounting_by_row": false, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "discount_percentage": 5.5, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}], "accounting_period": "01-24"}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.billsAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"bill_number": "10001", "supplier": {"id": "12345", "display_name": "Windsurf Shop", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "bill_date": "2020-09-30", "due_date": "2020-10-30", "paid_date": "2020-10-30", "po_number": "90000117", "reference": "123456", "line_items": [{"row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "expense_account", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "row_version": "1-12345"}], "terms": "Net 30 days", "balance": 27500, "deposit": 0, "sub_total": 27500, "total_tax": 2500, "total": 27500, "tax_code": "1234", "notes": "Some notes about this bill.", "status": "draft", "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "payment_method": "cash", "channel": "email", "language": "EN", "accounting_by_row": false, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "discount_percentage": 5.5, "tracking_categories": [{"id": "123456", "name": "New York"}], "row_version": "1-12345", "pass_through": [], "accounting_period": "01-24"} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "bills", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.billsOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "bills", "operation": "one", "data": {"id": "12345", "downstream_id": "12345", "bill_number": "10001", "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "bill_date": "2020-09-30", "due_date": "2020-10-30", "paid_date": "2020-10-30", "po_number": "90000117", "reference": "123456", "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "expense_account", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "expense_account", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}], "terms": "Net 30 days", "balance": 27500, "deposit": 0, "sub_total": 27500, "total_tax": 2500, "total": 27500, "tax_code": "1234", "notes": "Some notes about this bill.", "status": "draft", "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "payment_method": "cash", "channel": "email", "language": "EN", "accounting_by_row": false, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "discount_percentage": 5.5, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}], "accounting_period": "01-24"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.billsUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"bill_number": "10001", "supplier": {"id": "12345", "display_name": "Windsurf Shop", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "bill_date": "2020-09-30", "due_date": "2020-10-30", "paid_date": "2020-10-30", "po_number": "90000117", "reference": "123456", "line_items": [{"row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "expense_account", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "row_version": "1-12345"}, {"row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "expense_account", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "tracking_categories": [{"id": "123456", "name": "New York"}], "row_version": "1-12345"}, {"row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "expense_account", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "row_version": "1-12345"}], "terms": "Net 30 days", "balance": 27500, "deposit": 0, "sub_total": 27500, "total_tax": 2500, "total": 27500, "tax_code": "1234", "notes": "Some notes about this bill.", "status": "draft", "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "payment_method": "cash", "channel": "email", "language": "EN", "accounting_by_row": false, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "discount_percentage": 5.5, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}], "accounting_period": "01-24"} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "bills", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.billsDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "bills", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.invoicesAll: + "": + parameters: + query: + filter: {"updated_since": "2020-09-30T07:43:32.000Z", "created_since": "2020-09-30T07:43:32.000Z", "number": "OIT00546"} + sort: {"by": "updated_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "invoices", "operation": "all", "data": [{"id": "12345", "downstream_id": "12345", "type": "service", "number": "OIT00546", "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "company_id": "12345", "invoice_date": "2020-09-30", "due_date": "2020-09-30", "terms": "Net 30 days", "po_number": "90000117", "reference": "123456", "status": "draft", "invoice_sent": true, "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "sub_total": 27500, "total_tax": 2500, "tax_code": "1234", "discount_percentage": 5.5, "discount_amount": 25, "total": 27500, "balance": 27500, "deposit": 0, "customer_memo": "Thank you for your business and have a great day!", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}], "billing_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "template_id": "123456", "source_document_url": "https://www.invoicesolution.com/invoice/123456", "payment_method": "cash", "channel": "email", "language": "EN", "accounting_by_row": false, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}, {"id": "12345", "downstream_id": "12345", "type": "service", "number": "OIT00546", "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "company_id": "12345", "invoice_date": "2020-09-30", "due_date": "2020-09-30", "terms": "Net 30 days", "po_number": "90000117", "reference": "123456", "status": "draft", "invoice_sent": true, "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "sub_total": 27500, "total_tax": 2500, "tax_code": "1234", "discount_percentage": 5.5, "discount_amount": 25, "total": 27500, "balance": 27500, "deposit": 0, "customer_memo": "Thank you for your business and have a great day!", "tracking_categories": [], "line_items": [], "billing_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "template_id": "123456", "source_document_url": "https://www.invoicesolution.com/invoice/123456", "payment_method": "cash", "channel": "email", "language": "EN", "accounting_by_row": false, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "downstream_id": "12345", "type": "service", "number": "OIT00546", "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "company_id": "12345", "invoice_date": "2020-09-30", "due_date": "2020-09-30", "terms": "Net 30 days", "po_number": "90000117", "reference": "123456", "status": "draft", "invoice_sent": true, "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "sub_total": 27500, "total_tax": 2500, "tax_code": "1234", "discount_percentage": 5.5, "discount_amount": 25, "total": 27500, "balance": 27500, "deposit": 0, "customer_memo": "Thank you for your business and have a great day!", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}], "billing_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "template_id": "123456", "source_document_url": "https://www.invoicesolution.com/invoice/123456", "payment_method": "cash", "channel": "email", "language": "EN", "accounting_by_row": false, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.invoicesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"type": "service", "number": "OIT00546", "customer": {"id": "12345", "display_name": "Windsurf Shop", "email": "boring@boring.com"}, "company_id": "12345", "invoice_date": "2020-09-30", "due_date": "2020-09-30", "terms": "Net 30 days", "po_number": "90000117", "reference": "123456", "status": "draft", "invoice_sent": true, "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "sub_total": 27500, "total_tax": 2500, "tax_code": "1234", "discount_percentage": 5.5, "discount_amount": 25, "total": 27500, "balance": 27500, "deposit": 0, "customer_memo": "Thank you for your business and have a great day!", "tracking_categories": [{"id": "123456", "name": "New York"}], "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "custom_fields": [], "row_version": "1-12345"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "row_version": "1-12345"}], "billing_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "template_id": "123456", "source_document_url": "https://www.invoicesolution.com/invoice/123456", "payment_method": "cash", "channel": "email", "language": "EN", "accounting_by_row": false, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": ["", ""]}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": ["", "", ""]}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}], "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": []}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "invoices", "operation": "add", "data": {"id": "12345", "downstream_id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.invoicesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "invoices", "operation": "one", "data": {"id": "12345", "downstream_id": "12345", "type": "service", "number": "OIT00546", "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "company_id": "12345", "invoice_date": "2020-09-30", "due_date": "2020-09-30", "terms": "Net 30 days", "po_number": "90000117", "reference": "123456", "status": "draft", "invoice_sent": true, "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "sub_total": 27500, "total_tax": 2500, "tax_code": "1234", "discount_percentage": 5.5, "discount_amount": 25, "total": 27500, "balance": 27500, "deposit": 0, "customer_memo": "Thank you for your business and have a great day!", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}], "billing_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "template_id": "123456", "source_document_url": "https://www.invoicesolution.com/invoice/123456", "payment_method": "cash", "channel": "email", "language": "EN", "accounting_by_row": false, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.invoicesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"type": "service", "number": "OIT00546", "customer": {"id": "12345", "display_name": "Windsurf Shop", "email": "boring@boring.com"}, "company_id": "12345", "invoice_date": "2020-09-30", "due_date": "2020-09-30", "terms": "Net 30 days", "po_number": "90000117", "reference": "123456", "status": "draft", "invoice_sent": true, "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "sub_total": 27500, "total_tax": 2500, "tax_code": "1234", "discount_percentage": 5.5, "discount_amount": 25, "total": 27500, "balance": 27500, "deposit": 0, "customer_memo": "Thank you for your business and have a great day!", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}], "row_version": "1-12345"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}], "row_version": "1-12345"}], "billing_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "template_id": "123456", "source_document_url": "https://www.invoicesolution.com/invoice/123456", "payment_method": "cash", "channel": "email", "language": "EN", "accounting_by_row": false, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "custom_fields": [], "row_version": "1-12345", "pass_through": []} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "invoices", "operation": "update", "data": {"id": "12345", "downstream_id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.invoicesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "invoices", "operation": "delete", "data": {"id": "12345", "downstream_id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.ledgerAccountsAll: + "": + parameters: + query: + filter: {"updated_since": "2020-09-30T07:43:32.000Z"} + sort: {"by": "updated_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "ledger-accounts", "operation": "all", "data": [{"id": "12345", "display_id": "1-12345", "code": "453", "classification": "asset", "type": "bank", "sub_type": "CHECKING_ACCOUNT", "name": "Bank account", "fully_qualified_name": "Asset.Bank.Checking_Account", "description": "Main checking account", "opening_balance": 75000, "current_balance": 20000, "currency": "USD", "tax_type": "NONE", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "level": 1, "active": true, "status": "active", "header": true, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "categories": [{"id": "12345", "name": "Finance Charges Expense"}, {"id": "12345", "name": "Finance Charges Expense"}], "parent_account": {"id": "12345", "name": "Bank Accounts", "display_id": "1-1100"}, "sub_account": false, "sub_accounts": [{"id": "12345", "account_sub_name": "Petty Cash"}, {"id": "12345", "account_sub_name": "Petty Cash"}], "last_reconciliation_date": "2020-09-30", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "display_id": "1-12345", "code": "453", "classification": "asset", "type": "bank", "sub_type": "CHECKING_ACCOUNT", "name": "Bank account", "fully_qualified_name": "Asset.Bank.Checking_Account", "description": "Main checking account", "opening_balance": 75000, "current_balance": 20000, "currency": "USD", "tax_type": "NONE", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "level": 1, "active": true, "status": "active", "header": true, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "categories": [], "parent_account": {"id": "12345", "name": "Bank Accounts", "display_id": "1-1100"}, "sub_account": false, "sub_accounts": [], "last_reconciliation_date": "2020-09-30", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "display_id": "1-12345", "code": "453", "classification": "asset", "type": "bank", "sub_type": "CHECKING_ACCOUNT", "name": "Bank account", "fully_qualified_name": "Asset.Bank.Checking_Account", "description": "Main checking account", "opening_balance": 75000, "current_balance": 20000, "currency": "USD", "tax_type": "NONE", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "level": 1, "active": true, "status": "active", "header": true, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "categories": [{"id": "12345", "name": "Finance Charges Expense"}, {"id": "12345", "name": "Finance Charges Expense"}], "parent_account": {"id": "12345", "name": "Bank Accounts", "display_id": "1-1100"}, "sub_account": false, "sub_accounts": [], "last_reconciliation_date": "2020-09-30", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.ledgerAccountsAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"display_id": "1-12345", "code": "453", "classification": "asset", "type": "bank", "sub_type": "CHECKING_ACCOUNT", "name": "Bank account", "fully_qualified_name": "Asset.Bank.Checking_Account", "description": "Main checking account", "opening_balance": 75000, "current_balance": 20000, "currency": "USD", "tax_type": "NONE", "tax_rate": {"id": "123456", "rate": 10}, "level": 1, "active": true, "status": "active", "header": true, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "parent_account": {"id": "12345", "name": "Bank Accounts", "display_id": "1-1100"}, "sub_account": false, "last_reconciliation_date": "2020-09-30", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "ledger-accounts", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.ledgerAccountsOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "ledger-accounts", "operation": "one", "data": {"id": "12345", "display_id": "1-12345", "code": "453", "classification": "asset", "type": "bank", "sub_type": "CHECKING_ACCOUNT", "name": "Bank account", "fully_qualified_name": "Asset.Bank.Checking_Account", "description": "Main checking account", "opening_balance": 75000, "current_balance": 20000, "currency": "USD", "tax_type": "NONE", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "level": 1, "active": true, "status": "active", "header": true, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "categories": [{"id": "12345", "name": "Finance Charges Expense"}, {"id": "12345", "name": "Finance Charges Expense"}], "parent_account": {"id": "12345", "name": "Bank Accounts", "display_id": "1-1100"}, "sub_account": false, "sub_accounts": [{"id": "12345", "account_sub_name": "Petty Cash"}, {"id": "12345", "account_sub_name": "Petty Cash"}], "last_reconciliation_date": "2020-09-30", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.ledgerAccountsUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"display_id": "1-12345", "code": "453", "classification": "asset", "type": "bank", "sub_type": "CHECKING_ACCOUNT", "name": "Bank account", "fully_qualified_name": "Asset.Bank.Checking_Account", "description": "Main checking account", "opening_balance": 75000, "current_balance": 20000, "currency": "USD", "tax_type": "NONE", "tax_rate": {"id": "123456", "rate": 10}, "level": 1, "active": true, "status": "active", "header": true, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "parent_account": {"id": "12345", "name": "Bank Accounts", "display_id": "1-1100"}, "sub_account": false, "last_reconciliation_date": "2020-09-30", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "ledger-accounts", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.ledgerAccountsDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "ledger-accounts", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.invoiceItemsAll: + "": + parameters: + query: + filter: {"name": "Widgets Large", "type": "service"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "invoice-items", "operation": "all", "data": [{"id": "123456", "name": "Model Y", "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "code": "120-C", "sold": true, "purchased": true, "tracked": true, "taxable": true, "inventory_date": "2020-10-30", "type": "inventory", "sales_details": {"unit_price": 27500.5, "unit_of_measure": "pc.", "tax_inclusive": true, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}}, "purchase_details": {"unit_price": 27500.5, "unit_of_measure": "pc.", "tax_inclusive": true, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}}, "quantity": 1, "unit_price": 27500.5, "asset_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "income_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "expense_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "active": true, "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": []}]}, {"id": "123456", "name": "Model Y", "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "code": "120-C", "sold": true, "purchased": true, "tracked": true, "taxable": true, "inventory_date": "2020-10-30", "type": "inventory", "sales_details": {"unit_price": 27500.5, "unit_of_measure": "pc.", "tax_inclusive": true, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}}, "purchase_details": {"unit_price": 27500.5, "unit_of_measure": "pc.", "tax_inclusive": true, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}}, "quantity": 1, "unit_price": 27500.5, "asset_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "income_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "expense_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "tracking_categories": [], "active": true, "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "123456", "name": "Model Y", "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "code": "120-C", "sold": true, "purchased": true, "tracked": true, "taxable": true, "inventory_date": "2020-10-30", "type": "inventory", "sales_details": {"unit_price": 27500.5, "unit_of_measure": "pc.", "tax_inclusive": true, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}}, "purchase_details": {"unit_price": 27500.5, "unit_of_measure": "pc.", "tax_inclusive": true, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}}, "quantity": 1, "unit_price": 27500.5, "asset_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "income_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "expense_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "active": true, "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.invoiceItemsAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "Model Y", "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "code": "120-C", "sold": true, "purchased": true, "tracked": true, "taxable": true, "inventory_date": "2020-10-30", "type": "inventory", "sales_details": {"unit_price": 27500.5, "unit_of_measure": "pc.", "tax_inclusive": true, "tax_rate": {"id": "123456", "rate": 10}}, "purchase_details": {"unit_price": 27500.5, "unit_of_measure": "pc.", "tax_inclusive": true, "tax_rate": {"id": "123456", "rate": 10}}, "quantity": 1, "unit_price": 27500.5, "asset_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "income_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "expense_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "tracking_categories": [{"id": "123456", "name": "New York"}], "active": true, "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "invoice-items", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.invoiceItemsOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + filter: {"type": "service"} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "invoice-items", "operation": "one", "data": {"id": "123456", "name": "Model Y", "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "code": "120-C", "sold": true, "purchased": true, "tracked": true, "taxable": true, "inventory_date": "2020-10-30", "type": "inventory", "sales_details": {"unit_price": 27500.5, "unit_of_measure": "pc.", "tax_inclusive": true, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}}, "purchase_details": {"unit_price": 27500.5, "unit_of_measure": "pc.", "tax_inclusive": true, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}}, "quantity": 1, "unit_price": 27500.5, "asset_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "income_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "expense_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "active": true, "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.invoiceItemsUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "Model Y", "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "code": "120-C", "sold": true, "purchased": true, "tracked": true, "taxable": true, "inventory_date": "2020-10-30", "type": "inventory", "sales_details": {"unit_price": 27500.5, "unit_of_measure": "pc.", "tax_inclusive": true, "tax_rate": {"id": "123456", "rate": 10}}, "purchase_details": {"unit_price": 27500.5, "unit_of_measure": "pc.", "tax_inclusive": true, "tax_rate": {"id": "123456", "rate": 10}}, "quantity": 1, "unit_price": 27500.5, "asset_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "income_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "expense_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "active": true, "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "invoice-items", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.invoiceItemsDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "tax-rates", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.creditNotesAll: + "": + parameters: + query: + filter: {"updated_since": "2020-09-30T07:43:32.000Z"} + sort: {"by": "updated_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "credit-notes", "operation": "all", "data": [{"id": "123456", "number": "OIT00546", "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "company_id": "12345", "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "sub_total": 27500, "total_amount": 49.99, "total_tax": 2500, "tax_code": "1234", "balance": 27500, "remaining_credit": 27500, "status": "authorised", "reference": "123456", "date_issued": "2021-05-01T12:00:00.000Z", "date_paid": "2021-05-01T12:00:00.000Z", "type": "accounts_receivable_credit", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}], "allocations": [{"id": "123456", "code": "N091", "amount": 49.99, "allocation_id": "123456"}, {"id": "123456", "code": "N091", "amount": 49.99, "allocation_id": "123456"}], "note": "Some notes about this credit note", "terms": "Some terms about this credit note", "billing_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": []}]}, {"id": "123456", "number": "OIT00546", "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "company_id": "12345", "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "sub_total": 27500, "total_amount": 49.99, "total_tax": 2500, "tax_code": "1234", "balance": 27500, "remaining_credit": 27500, "status": "authorised", "reference": "123456", "date_issued": "2021-05-01T12:00:00.000Z", "date_paid": "2021-05-01T12:00:00.000Z", "type": "accounts_receivable_credit", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}], "allocations": [{"id": "123456", "code": "N091", "amount": 49.99, "allocation_id": "123456"}, {"id": "123456", "code": "N091", "amount": 49.99, "allocation_id": "123456"}, {"id": "123456", "code": "N091", "amount": 49.99, "allocation_id": "123456"}], "note": "Some notes about this credit note", "terms": "Some terms about this credit note", "billing_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}, {"id": "123456", "number": "OIT00546", "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "company_id": "12345", "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "sub_total": 27500, "total_amount": 49.99, "total_tax": 2500, "tax_code": "1234", "balance": 27500, "remaining_credit": 27500, "status": "authorised", "reference": "123456", "date_issued": "2021-05-01T12:00:00.000Z", "date_paid": "2021-05-01T12:00:00.000Z", "type": "accounts_receivable_credit", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}], "allocations": [{"id": "123456", "code": "N091", "amount": 49.99, "allocation_id": "123456"}], "note": "Some notes about this credit note", "terms": "Some terms about this credit note", "billing_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "tracking_categories": [], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.creditNotesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"number": "OIT00546", "customer": {"id": "12345", "display_name": "Windsurf Shop", "email": "boring@boring.com"}, "company_id": "12345", "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "sub_total": 27500, "total_amount": 49.99, "total_tax": 2500, "tax_code": "1234", "balance": 27500, "remaining_credit": 27500, "status": "authorised", "reference": "123456", "date_issued": "2021-05-01T12:00:00.000Z", "date_paid": "2021-05-01T12:00:00.000Z", "type": "accounts_receivable_credit", "account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "row_version": "1-12345"}], "allocations": [], "note": "Some notes about this credit note", "terms": "Some terms about this credit note", "billing_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "credit-notes", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.creditNotesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "credit-notes", "operation": "one", "data": {"id": "123456", "number": "OIT00546", "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "company_id": "12345", "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "sub_total": 27500, "total_amount": 49.99, "total_tax": 2500, "tax_code": "1234", "balance": 27500, "remaining_credit": 27500, "status": "authorised", "reference": "123456", "date_issued": "2021-05-01T12:00:00.000Z", "date_paid": "2021-05-01T12:00:00.000Z", "type": "accounts_receivable_credit", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}], "allocations": [{"id": "123456", "code": "N091", "amount": 49.99, "allocation_id": "123456"}, {"id": "123456", "code": "N091", "amount": 49.99, "allocation_id": "123456"}, {"id": "123456", "code": "N091", "amount": 49.99, "allocation_id": "123456"}], "note": "Some notes about this credit note", "terms": "Some terms about this credit note", "billing_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "tracking_categories": [{"id": "123456", "name": "New York"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.creditNotesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"number": "OIT00546", "customer": {"id": "12345", "display_name": "Windsurf Shop", "email": "boring@boring.com"}, "company_id": "12345", "currency": "USD", "currency_rate": 0.69, "tax_inclusive": true, "sub_total": 27500, "total_amount": 49.99, "total_tax": 2500, "tax_code": "1234", "balance": 27500, "remaining_credit": 27500, "status": "authorised", "reference": "123456", "date_issued": "2021-05-01T12:00:00.000Z", "date_paid": "2021-05-01T12:00:00.000Z", "type": "accounts_receivable_credit", "account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "row_version": "1-12345"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}], "row_version": "1-12345"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "custom_fields": [], "row_version": "1-12345"}], "allocations": [{"id": "123456", "amount": 49.99, "allocation_id": "123456"}, {"id": "123456", "amount": 49.99, "allocation_id": "123456"}, {"id": "123456", "amount": 49.99, "allocation_id": "123456"}], "note": "Some notes about this credit note", "terms": "Some terms about this credit note", "billing_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}], "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "credit-notes", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.creditNotesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "credit-notes", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.customersAll: + "": + parameters: + query: + filter: {"company_name": "SpaceX", "display_name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "email": "elon@musk.com", "status": "active", "updated_since": "2020-09-30T07:43:32.000Z"} + sort: {"by": "updated_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "customers", "operation": "all", "data": [{"id": "12345", "downstream_id": "12345", "display_id": "EMP00101", "display_name": "Windsurf Shop", "company_name": "SpaceX", "company_id": "12345", "title": "CEO", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "suffix": "Jr.", "individual": true, "project": false, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [], "websites": [], "bank_accounts": [], "notes": "Some notes about this customer", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tax_number": "US123945459", "currency": "USD", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "parent": {"id": "12345", "name": "Windsurf Shop"}, "status": "active", "payment_method": "cash", "channel": "email", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "downstream_id": "12345", "display_id": "EMP00101", "display_name": "Windsurf Shop", "company_name": "SpaceX", "company_id": "12345", "title": "CEO", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "suffix": "Jr.", "individual": true, "project": false, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [], "emails": [], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "notes": "Some notes about this customer", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tax_number": "US123945459", "currency": "USD", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "parent": {"id": "12345", "name": "Windsurf Shop"}, "status": "active", "payment_method": "cash", "channel": "email", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "downstream_id": "12345", "display_id": "EMP00101", "display_name": "Windsurf Shop", "company_name": "SpaceX", "company_id": "12345", "title": "CEO", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "suffix": "Jr.", "individual": true, "project": false, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "notes": "Some notes about this customer", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tax_number": "US123945459", "currency": "USD", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "parent": {"id": "12345", "name": "Windsurf Shop"}, "status": "active", "payment_method": "cash", "channel": "email", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.customersAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"display_id": "EMP00101", "display_name": "Windsurf Shop", "company_name": "SpaceX", "company_id": "12345", "title": "CEO", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "suffix": "Jr.", "individual": true, "project": false, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "websites": [], "bank_accounts": [], "notes": "Some notes about this customer", "tax_rate": {"id": "123456", "rate": 10}, "tax_number": "US123945459", "currency": "USD", "account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "parent": {"id": "12345", "name": "Windsurf Shop"}, "status": "active", "payment_method": "cash", "channel": "email", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": []}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "customers", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.customersOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "customers", "operation": "one", "data": {"id": "12345", "downstream_id": "12345", "display_id": "EMP00101", "display_name": "Windsurf Shop", "company_name": "SpaceX", "company_id": "12345", "title": "CEO", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "suffix": "Jr.", "individual": true, "project": false, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "notes": "Some notes about this customer", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tax_number": "US123945459", "currency": "USD", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "parent": {"id": "12345", "name": "Windsurf Shop"}, "status": "active", "payment_method": "cash", "channel": "email", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.customersUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"display_id": "EMP00101", "display_name": "Windsurf Shop", "company_name": "SpaceX", "company_id": "12345", "title": "CEO", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "suffix": "Jr.", "individual": true, "project": false, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "notes": "Some notes about this customer", "tax_rate": {"id": "123456", "rate": 10}, "tax_number": "US123945459", "currency": "USD", "account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "parent": {"id": "12345", "name": "Windsurf Shop"}, "status": "active", "payment_method": "cash", "channel": "email", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "customers", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.customersDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "customers", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.suppliersAll: + "": + parameters: + query: + filter: {"company_name": "SpaceX", "display_name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "email": "elon@musk.com", "updated_since": "2020-09-30T07:43:32.000Z"} + sort: {"by": "updated_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "suppliers", "operation": "all", "data": [{"id": "12345", "downstream_id": "12345", "display_id": "EMP00101", "display_name": "Windsurf Shop", "company_name": "SpaceX", "company_id": "12345", "title": "CEO", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "suffix": "Jr.", "individual": true, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [], "websites": [], "bank_accounts": [], "notes": "Some notes about this supplier", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tax_number": "US123945459", "currency": "USD", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "status": "active", "payment_method": "cash", "channel": "email", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "downstream_id": "12345", "display_id": "EMP00101", "display_name": "Windsurf Shop", "company_name": "SpaceX", "company_id": "12345", "title": "CEO", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "suffix": "Jr.", "individual": true, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [], "emails": [], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "notes": "Some notes about this supplier", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tax_number": "US123945459", "currency": "USD", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "status": "active", "payment_method": "cash", "channel": "email", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "downstream_id": "12345", "display_id": "EMP00101", "display_name": "Windsurf Shop", "company_name": "SpaceX", "company_id": "12345", "title": "CEO", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "suffix": "Jr.", "individual": true, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "notes": "Some notes about this supplier", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tax_number": "US123945459", "currency": "USD", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "status": "active", "payment_method": "cash", "channel": "email", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.suppliersAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"display_id": "EMP00101", "display_name": "Windsurf Shop", "company_name": "SpaceX", "company_id": "12345", "title": "CEO", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "suffix": "Jr.", "individual": true, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "websites": [], "bank_accounts": [], "notes": "Some notes about this supplier", "tax_rate": {"id": "123456", "rate": 10}, "tax_number": "US123945459", "currency": "USD", "account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "status": "active", "payment_method": "cash", "channel": "email", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": []}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "payments", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.suppliersOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "suppliers", "operation": "one", "data": {"id": "12345", "downstream_id": "12345", "display_id": "EMP00101", "display_name": "Windsurf Shop", "company_name": "SpaceX", "company_id": "12345", "title": "CEO", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "suffix": "Jr.", "individual": true, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "notes": "Some notes about this supplier", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tax_number": "US123945459", "currency": "USD", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "status": "active", "payment_method": "cash", "channel": "email", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.suppliersUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"display_id": "EMP00101", "display_name": "Windsurf Shop", "company_name": "SpaceX", "company_id": "12345", "title": "CEO", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "suffix": "Jr.", "individual": true, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "notes": "Some notes about this supplier", "tax_rate": {"id": "123456", "rate": 10}, "tax_number": "US123945459", "currency": "USD", "account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "status": "active", "payment_method": "cash", "channel": "email", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "suppliers", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.suppliersDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "suppliers", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.paymentsAll: + "": + parameters: + query: + filter: {"updated_since": "2020-09-30T07:43:32.000Z"} + sort: {"by": "updated_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "payments", "operation": "all", "data": [{"id": "12345", "downstream_id": "12345", "currency": "USD", "currency_rate": 0.69, "total_amount": 49.99, "reference": "123456", "payment_method": "cash", "payment_method_reference": "123456", "payment_method_id": "12345", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "transaction_date": "2021-05-01T12:00:00.000Z", "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "company_id": "12345", "reconciled": true, "status": "authorised", "type": "accounts_receivable", "allocations": [{"id": "123456", "code": "N091", "amount": 49.99, "allocation_id": "123456"}, {"id": "123456", "code": "N091", "amount": 49.99, "allocation_id": "123456"}], "note": "Some notes about this transaction", "number": "123456", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [], "row_version": "1-12345", "display_id": "123456", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "downstream_id": "12345", "currency": "USD", "currency_rate": 0.69, "total_amount": 49.99, "reference": "123456", "payment_method": "cash", "payment_method_reference": "123456", "payment_method_id": "12345", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "transaction_date": "2021-05-01T12:00:00.000Z", "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "company_id": "12345", "reconciled": true, "status": "authorised", "type": "accounts_receivable", "allocations": [], "note": "Some notes about this transaction", "number": "123456", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}], "row_version": "1-12345", "display_id": "123456", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "downstream_id": "12345", "currency": "USD", "currency_rate": 0.69, "total_amount": 49.99, "reference": "123456", "payment_method": "cash", "payment_method_reference": "123456", "payment_method_id": "12345", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "transaction_date": "2021-05-01T12:00:00.000Z", "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "company_id": "12345", "reconciled": true, "status": "authorised", "type": "accounts_receivable", "allocations": [{"id": "123456", "code": "N091", "amount": 49.99, "allocation_id": "123456"}, {"id": "123456", "code": "N091", "amount": 49.99, "allocation_id": "123456"}], "note": "Some notes about this transaction", "number": "123456", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "row_version": "1-12345", "display_id": "123456", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.paymentsAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"currency": "USD", "currency_rate": 0.69, "total_amount": 49.99, "reference": "123456", "payment_method": "cash", "payment_method_reference": "123456", "payment_method_id": "12345", "account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "transaction_date": "2021-05-01T12:00:00.000Z", "customer": {"id": "12345", "display_name": "Windsurf Shop", "email": "boring@boring.com"}, "company_id": "12345", "reconciled": true, "status": "authorised", "type": "accounts_receivable", "allocations": [{"id": "123456", "amount": 49.99, "allocation_id": "123456"}], "note": "Some notes about this transaction", "number": "123456", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "row_version": "1-12345", "display_id": "123456", "pass_through": []} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "payments", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.paymentsOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "payments", "operation": "one", "data": {"id": "12345", "downstream_id": "12345", "currency": "USD", "currency_rate": 0.69, "total_amount": 49.99, "reference": "123456", "payment_method": "cash", "payment_method_reference": "123456", "payment_method_id": "12345", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "transaction_date": "2021-05-01T12:00:00.000Z", "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "company_id": "12345", "reconciled": true, "status": "authorised", "type": "accounts_receivable", "allocations": [{"id": "123456", "code": "N091", "amount": 49.99, "allocation_id": "123456"}, {"id": "123456", "code": "N091", "amount": 49.99, "allocation_id": "123456"}], "note": "Some notes about this transaction", "number": "123456", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "row_version": "1-12345", "display_id": "123456", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.paymentsUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"currency": "USD", "currency_rate": 0.69, "total_amount": 49.99, "reference": "123456", "payment_method": "cash", "payment_method_reference": "123456", "payment_method_id": "12345", "account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "transaction_date": "2021-05-01T12:00:00.000Z", "customer": {"id": "12345", "display_name": "Windsurf Shop", "email": "boring@boring.com"}, "company_id": "12345", "reconciled": true, "status": "authorised", "type": "accounts_receivable", "allocations": [{"id": "123456", "amount": 49.99, "allocation_id": "123456"}, {"id": "123456", "amount": 49.99, "allocation_id": "123456"}, {"id": "123456", "amount": 49.99, "allocation_id": "123456"}], "note": "Some notes about this transaction", "number": "123456", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "row_version": "1-12345", "display_id": "123456", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "payments", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.paymentsDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "payments", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.companyInfoOne: + "": + parameters: + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "company-info", "operation": "one", "data": {"id": "12345", "company_name": "SpaceX", "status": "active", "legal_name": "SpaceX Inc.", "country": "US", "sales_tax_number": "111.222.333", "default_sales_tax": {"id": "1234", "name": "GST on Purchases", "code": "ABN", "description": "Reduced rate GST Purchases", "effective_tax_rate": 10, "total_tax_rate": 10, "tax_payable_account_id": "123456", "tax_remitted_account_id": "123456", "components": [{"id": "10", "name": "GST", "rate": 10, "compound": true}, {"id": "10", "name": "GST", "rate": 10, "compound": true}], "type": "NONE", "report_tax_type": "NONE", "original_tax_rate_id": "12345", "status": "active", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}, "currency": "USD", "language": "EN", "fiscal_year_start_month": "January", "company_start_date": "2015-06-05", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.balanceSheetOne: + "": + parameters: + query: + pass_through: {"search": "San Francisco"} + filter: {"start_date": "2021-01-01", "end_date": "2021-12-31", "period_count": 3, "period_type": "month"} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "BalanceSheets", "operation": "one", "data": {"reports": [{"id": "12345", "report_name": "BalanceSheet", "start_date": "2017-01-01", "end_date": "2017-01-31", "currency": "USD", "assets": {"account_id": "1", "code": "1000", "name": "Assets", "value": 50000, "items": [{"account_id": "101", "code": "1100", "name": "Current Assets", "value": 20000, "items": [{"account_id": "1011", "code": "1101", "name": "Cash and Cash Equivalents", "value": 10000}, {"account_id": "1012", "code": "1102", "name": "Accounts Receivable", "value": 5000}, {"account_id": "1013", "code": "1103", "name": "Inventory", "value": 3000}, {"account_id": "1014", "code": "1104", "name": "Prepaid Expenses", "value": 2000}]}, {"account_id": "102", "code": "1200", "name": "Non-Current Assets", "value": 30000, "items": [{"account_id": "1021", "code": "1201", "name": "Property, Plant, and Equipment (PPE)", "value": 25000}, {"account_id": "1022", "code": "1202", "name": "Intangible Assets", "value": 5000, "items": [{"account_id": "10221", "code": "1203", "name": "Goodwill", "value": 3000}, {"account_id": "10222", "code": "1204", "name": "Patents", "value": 2000}]}]}]}, "liabilities": {"account_id": "2", "code": "2000", "name": "Liabilities", "value": 30000, "items": [{"account_id": "201", "code": "2100", "name": "Current Liabilities", "value": 10000, "items": [{"account_id": "2011", "code": "2101", "name": "Accounts Payable", "value": 4000}, {"account_id": "2012", "code": "2102", "name": "Short-Term Debt", "value": 2000}, {"account_id": "2013", "code": "2103", "name": "Accrued Expenses", "value": 1000}, {"account_id": "2014", "code": "2104", "name": "Current Portion of Long-Term Debt", "value": 3000}]}, {"account_id": "202", "code": "2200", "name": "Non-Current Liabilities", "value": 20000, "items": [{"account_id": "2021", "code": "2201", "name": "Long-Term Debt", "value": 15000}, {"account_id": "2022", "code": "2202", "name": "Deferred Tax Liabilities", "value": 3000}, {"account_id": "2023", "code": "2203", "name": "Pension Liabilities", "value": 2000}]}]}, "equity": {"account_id": "3", "code": "3000", "name": "Equity", "value": 20000, "items": [{"account_id": "301", "code": "3100", "name": "Common Stock", "value": 5000}, {"account_id": "302", "code": "3200", "name": "Retained Earnings", "value": 10000}, {"account_id": "303", "code": "3300", "name": "Additional Paid-In Capital", "value": 3000}, {"account_id": "304", "code": "3400", "name": "Treasury Stock", "value": -1000}, {"account_id": "305", "code": "3500", "name": "Other Comprehensive Income", "value": 3000}]}, "net_assets": 1000, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "uncategorized_items": {"account_id": "3", "code": "3000", "name": "Uncategorized Items", "value": 1000, "items": [{"account_id": "301", "code": "3100", "name": "not linked account", "value": 1000}]}}, {"id": "12345", "report_name": "BalanceSheet", "start_date": "2017-01-01", "end_date": "2017-01-31", "currency": "USD", "assets": {"account_id": "1", "code": "1000", "name": "Assets", "value": 50000, "items": [{"account_id": "101", "code": "1100", "name": "Current Assets", "value": 20000, "items": [{"account_id": "1011", "code": "1101", "name": "Cash and Cash Equivalents", "value": 10000}, {"account_id": "1012", "code": "1102", "name": "Accounts Receivable", "value": 5000}, {"account_id": "1013", "code": "1103", "name": "Inventory", "value": 3000}, {"account_id": "1014", "code": "1104", "name": "Prepaid Expenses", "value": 2000}]}, {"account_id": "102", "code": "1200", "name": "Non-Current Assets", "value": 30000, "items": [{"account_id": "1021", "code": "1201", "name": "Property, Plant, and Equipment (PPE)", "value": 25000}, {"account_id": "1022", "code": "1202", "name": "Intangible Assets", "value": 5000, "items": [{"account_id": "10221", "code": "1203", "name": "Goodwill", "value": 3000}, {"account_id": "10222", "code": "1204", "name": "Patents", "value": 2000}]}]}]}, "liabilities": {"account_id": "2", "code": "2000", "name": "Liabilities", "value": 30000, "items": [{"account_id": "201", "code": "2100", "name": "Current Liabilities", "value": 10000, "items": [{"account_id": "2011", "code": "2101", "name": "Accounts Payable", "value": 4000}, {"account_id": "2012", "code": "2102", "name": "Short-Term Debt", "value": 2000}, {"account_id": "2013", "code": "2103", "name": "Accrued Expenses", "value": 1000}, {"account_id": "2014", "code": "2104", "name": "Current Portion of Long-Term Debt", "value": 3000}]}, {"account_id": "202", "code": "2200", "name": "Non-Current Liabilities", "value": 20000, "items": [{"account_id": "2021", "code": "2201", "name": "Long-Term Debt", "value": 15000}, {"account_id": "2022", "code": "2202", "name": "Deferred Tax Liabilities", "value": 3000}, {"account_id": "2023", "code": "2203", "name": "Pension Liabilities", "value": 2000}]}]}, "equity": {"account_id": "3", "code": "3000", "name": "Equity", "value": 20000, "items": [{"account_id": "301", "code": "3100", "name": "Common Stock", "value": 5000}, {"account_id": "302", "code": "3200", "name": "Retained Earnings", "value": 10000}, {"account_id": "303", "code": "3300", "name": "Additional Paid-In Capital", "value": 3000}, {"account_id": "304", "code": "3400", "name": "Treasury Stock", "value": -1000}, {"account_id": "305", "code": "3500", "name": "Other Comprehensive Income", "value": 3000}]}, "net_assets": 1000, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "uncategorized_items": {"account_id": "3", "code": "3000", "name": "Uncategorized Items", "value": 1000, "items": [{"account_id": "301", "code": "3100", "name": "not linked account", "value": 1000}]}}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.profitAndLossOne: + "": + parameters: + query: + filter: {"customer_id": "123abc", "start_date": "2021-01-01", "end_date": "2021-12-31"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "ProfitAndLosses", "operation": "one", "data": {"id": "12345", "report_name": "ProfitAndLoss", "start_date": "2017-01-01", "end_date": "2017-01-01", "currency": "USD", "customer_id": "123", "income": {"total": 200000, "records": [{"id": "123", "name": "Income 1", "amount": 10000}, {"id": "456", "name": "Income 2", "amount": 20000}]}, "expenses": {"total": 200000, "records": [{"id": "123", "name": "Expense 1", "amount": 10000}, {"id": "456", "name": "Expense 2", "amount": 20000}]}, "net_income": {"total": 200000, "records": ""}, "net_operating_income": {"total": 200000, "records": ""}, "gross_profit": {"total": 200000, "records": ""}}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.journalEntriesAll: + "": + parameters: + query: + filter: {"updated_since": "2020-09-30T07:43:32.000Z"} + sort: {"by": "updated_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "journal-entries", "operation": "all", "data": [{"id": "12345", "title": "Purchase Invoice-Inventory (USD): 2019/02/01 Batch Summary Entry", "currency_rate": 0.69, "currency": "USD", "company_id": "12345", "line_items": [{"id": "12345", "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "tax_amount": 27500, "sub_total": 27500, "total_amount": 27500, "type": "debit", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "department_id": "12345", "location_id": "12345", "line_number": 1}, {"id": "12345", "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "tax_amount": 27500, "sub_total": 27500, "total_amount": 27500, "type": "debit", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "department_id": "12345", "location_id": "12345", "line_number": 1}], "memo": "Thank you for your business and have a great day!", "posted_at": "2020-09-30T07:43:32.000Z", "journal_symbol": "IND", "tax_type": "sales", "tax_code": "1234", "number": "OIT00546", "tracking_categories": [], "accounting_period": "01-24", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": []}, {"id": "12345", "title": "Purchase Invoice-Inventory (USD): 2019/02/01 Batch Summary Entry", "currency_rate": 0.69, "currency": "USD", "company_id": "12345", "line_items": [{"id": "12345", "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "tax_amount": 27500, "sub_total": 27500, "total_amount": 27500, "type": "debit", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "department_id": "12345", "location_id": "12345", "line_number": 1}, {"id": "12345", "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "tax_amount": 27500, "sub_total": 27500, "total_amount": 27500, "type": "debit", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "department_id": "12345", "location_id": "12345", "line_number": 1}], "memo": "Thank you for your business and have a great day!", "posted_at": "2020-09-30T07:43:32.000Z", "journal_symbol": "IND", "tax_type": "sales", "tax_code": "1234", "number": "OIT00546", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "accounting_period": "01-24", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": []}, {"id": "12345", "title": "Purchase Invoice-Inventory (USD): 2019/02/01 Batch Summary Entry", "currency_rate": 0.69, "currency": "USD", "company_id": "12345", "line_items": [], "memo": "Thank you for your business and have a great day!", "posted_at": "2020-09-30T07:43:32.000Z", "journal_symbol": "IND", "tax_type": "sales", "tax_code": "1234", "number": "OIT00546", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "accounting_period": "01-24", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.journalEntriesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"title": "Purchase Invoice-Inventory (USD): 2019/02/01 Batch Summary Entry", "currency_rate": 0.69, "currency": "USD", "company_id": "12345", "line_items": [{"description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "tax_amount": 27500, "sub_total": 27500, "total_amount": 27500, "type": "debit", "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "customer": {"id": "12345", "display_name": "Windsurf Shop", "email": "boring@boring.com"}, "supplier": {"id": "12345", "display_name": "Windsurf Shop", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "line_number": 1}], "memo": "Thank you for your business and have a great day!", "posted_at": "2020-09-30T07:43:32.000Z", "journal_symbol": "IND", "tax_type": "sales", "tax_code": "1234", "number": "OIT00546", "tracking_categories": [{"id": "123456", "name": "New York"}], "accounting_period": "01-24", "row_version": "1-12345", "pass_through": []} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "journal-entries", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.journalEntriesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "journal-entries", "operation": "one", "data": {"id": "12345", "title": "Purchase Invoice-Inventory (USD): 2019/02/01 Batch Summary Entry", "currency_rate": 0.69, "currency": "USD", "company_id": "12345", "line_items": [{"id": "12345", "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "tax_amount": 27500, "sub_total": 27500, "total_amount": 27500, "type": "debit", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "department_id": "12345", "location_id": "12345", "line_number": 1}, {"id": "12345", "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "tax_amount": 27500, "sub_total": 27500, "total_amount": 27500, "type": "debit", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "customer": {"id": "12345", "display_id": "CUST00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "email": "boring@boring.com"}, "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "department_id": "12345", "location_id": "12345", "line_number": 1}], "memo": "Thank you for your business and have a great day!", "posted_at": "2020-09-30T07:43:32.000Z", "journal_symbol": "IND", "tax_type": "sales", "tax_code": "1234", "number": "OIT00546", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "accounting_period": "01-24", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.journalEntriesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"title": "Purchase Invoice-Inventory (USD): 2019/02/01 Batch Summary Entry", "currency_rate": 0.69, "currency": "USD", "company_id": "12345", "line_items": [{"description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "tax_amount": 27500, "sub_total": 27500, "total_amount": 27500, "type": "debit", "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "customer": {"id": "12345", "display_name": "Windsurf Shop", "email": "boring@boring.com"}, "supplier": {"id": "12345", "display_name": "Windsurf Shop", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "line_number": 1}, {"description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "tax_amount": 27500, "sub_total": 27500, "total_amount": 27500, "type": "debit", "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "customer": {"id": "12345", "display_name": "Windsurf Shop", "email": "boring@boring.com"}, "supplier": {"id": "12345", "display_name": "Windsurf Shop", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "line_number": 1}, {"description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "tax_amount": 27500, "sub_total": 27500, "total_amount": 27500, "type": "debit", "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "customer": {"id": "12345", "display_name": "Windsurf Shop", "email": "boring@boring.com"}, "supplier": {"id": "12345", "display_name": "Windsurf Shop", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "line_number": 1}], "memo": "Thank you for your business and have a great day!", "posted_at": "2020-09-30T07:43:32.000Z", "journal_symbol": "IND", "tax_type": "sales", "tax_code": "1234", "number": "OIT00546", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "accounting_period": "01-24", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "journal-entries", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.journalEntriesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "journal-entries", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.purchaseOrdersAll: + "": + parameters: + query: + pass_through: {"search": "San Francisco"} + filter: {"updated_since": "2020-09-30T07:43:32.000Z", "supplier_id": "1234"} + sort: {"by": "updated_at", "direction": "desc"} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "PurchaseOrders", "operation": "all", "data": [{"id": "12345", "downstream_id": "12345", "po_number": "90000117", "reference": "123456", "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "status": "open", "issued_date": "2020-09-30", "delivery_date": "2020-09-30", "expected_arrival_date": "2020-09-30", "currency": "USD", "currency_rate": 0.69, "sub_total": 27500, "total_tax": 2500, "total": 27500, "tax_inclusive": true, "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}], "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "template_id": "123456", "discount_percentage": 5.5, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "accounting_by_row": false, "due_date": "2020-10-30", "payment_method": "cash", "tax_code": "1234", "channel": "email", "memo": "Thank you for the partnership and have a great day!", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}, {"id": "12345", "downstream_id": "12345", "po_number": "90000117", "reference": "123456", "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "status": "open", "issued_date": "2020-09-30", "delivery_date": "2020-09-30", "expected_arrival_date": "2020-09-30", "currency": "USD", "currency_rate": 0.69, "sub_total": 27500, "total_tax": 2500, "total": 27500, "tax_inclusive": true, "line_items": [], "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "template_id": "123456", "discount_percentage": 5.5, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "accounting_by_row": false, "due_date": "2020-10-30", "payment_method": "cash", "tax_code": "1234", "channel": "email", "memo": "Thank you for the partnership and have a great day!", "tracking_categories": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}, {"id": "12345", "downstream_id": "12345", "po_number": "90000117", "reference": "123456", "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "status": "open", "issued_date": "2020-09-30", "delivery_date": "2020-09-30", "expected_arrival_date": "2020-09-30", "currency": "USD", "currency_rate": 0.69, "sub_total": 27500, "total_tax": 2500, "total": 27500, "tax_inclusive": true, "line_items": [], "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "template_id": "123456", "discount_percentage": 5.5, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "accounting_by_row": false, "due_date": "2020-10-30", "payment_method": "cash", "tax_code": "1234", "channel": "email", "memo": "Thank you for the partnership and have a great day!", "tracking_categories": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.purchaseOrdersAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"po_number": "90000117", "reference": "123456", "supplier": {"id": "12345", "display_name": "Windsurf Shop", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "status": "open", "issued_date": "2020-09-30", "delivery_date": "2020-09-30", "expected_arrival_date": "2020-09-30", "currency": "USD", "currency_rate": 0.69, "sub_total": 27500, "total_tax": 2500, "total": 27500, "tax_inclusive": true, "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "row_version": "1-12345"}], "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "template_id": "123456", "discount_percentage": 5.5, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "accounting_by_row": false, "due_date": "2020-10-30", "payment_method": "cash", "tax_code": "1234", "channel": "email", "memo": "Thank you for the partnership and have a great day!", "tracking_categories": [], "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": []}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "PurchaseOrders", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.purchaseOrdersOne: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "PurchaseOrders", "operation": "one", "data": {"id": "12345", "downstream_id": "12345", "po_number": "90000117", "reference": "123456", "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "status": "open", "issued_date": "2020-09-30", "delivery_date": "2020-09-30", "expected_arrival_date": "2020-09-30", "currency": "USD", "currency_rate": 0.69, "sub_total": 27500, "total_tax": 2500, "total": 27500, "tax_inclusive": true, "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}], "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "ledger_account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "template_id": "123456", "discount_percentage": 5.5, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "accounting_by_row": false, "due_date": "2020-10-30", "payment_method": "cash", "tax_code": "1234", "channel": "email", "memo": "Thank you for the partnership and have a great day!", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.purchaseOrdersUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"po_number": "90000117", "reference": "123456", "supplier": {"id": "12345", "display_name": "Windsurf Shop", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "status": "open", "issued_date": "2020-09-30", "delivery_date": "2020-09-30", "expected_arrival_date": "2020-09-30", "currency": "USD", "currency_rate": 0.69, "sub_total": 27500, "total_tax": 2500, "total": 27500, "tax_inclusive": true, "line_items": [{"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "row_version": "1-12345"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [{"id": "123456", "name": "New York"}], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}], "row_version": "1-12345"}, {"id": "12345", "row_id": "12345", "code": "120-C", "line_number": 1, "description": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", "type": "sales_item", "tax_amount": 27500, "total_amount": 27500, "quantity": 1, "unit_price": 27500.5, "unit_of_measure": "pc.", "discount_percentage": 0.01, "discount_amount": 19.99, "location_id": "1234", "department_id": "1234", "item": {"id": "12344", "code": "120-C", "name": "Model Y"}, "tax_rate": {"id": "123456", "rate": 10}, "tracking_categories": [], "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "custom_fields": [], "row_version": "1-12345"}], "shipping_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "ledger_account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "template_id": "123456", "discount_percentage": 5.5, "bank_account": {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, "accounting_by_row": false, "due_date": "2020-10-30", "payment_method": "cash", "tax_code": "1234", "channel": "email", "memo": "Thank you for the partnership and have a great day!", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "PurchaseOrders", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.purchaseOrdersDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "PurchaseOrders", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.subsidiariesAll: + "": + parameters: + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "subsidiaries", "operation": "all", "data": [{"id": "12345", "parent_id": "12345", "name": "SpaceX", "status": "active", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "parent_id": "12345", "name": "SpaceX", "status": "active", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "parent_id": "12345", "name": "SpaceX", "status": "active", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.subsidiariesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"parent_id": "12345", "name": "SpaceX", "status": "active", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "subsidiaries", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.subsidiariesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "subsidiaries", "operation": "one", "data": {"id": "12345", "parent_id": "12345", "name": "SpaceX", "status": "active", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.subsidiariesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"parent_id": "12345", "name": "SpaceX", "status": "active", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "subsidiaries", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.subsidiariesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "subsidiaries", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.locationsAll: + "": + parameters: + query: + fields: "id,updated_at" + filter: {"subsidiary": "1"} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "subsidiaries", "operation": "all", "data": [{"id": "12345", "parent_id": "12345", "company_name": "SpaceX", "display_name": "11 UT - South Jordan", "status": "active", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "subsidiaries": [{"id": "12345", "name": "SpaceX"}, {"id": "12345", "name": "SpaceX"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "parent_id": "12345", "company_name": "SpaceX", "display_name": "11 UT - South Jordan", "status": "active", "addresses": [], "subsidiaries": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "parent_id": "12345", "company_name": "SpaceX", "display_name": "11 UT - South Jordan", "status": "active", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "subsidiaries": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.locationsAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"parent_id": "12345", "company_name": "SpaceX", "display_name": "11 UT - South Jordan", "status": "active", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "subsidiaries": [{"name": "SpaceX"}, {"name": "SpaceX"}], "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": []}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "locations", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.locationsOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "subsidiaries", "operation": "one", "data": {"id": "12345", "parent_id": "12345", "company_name": "SpaceX", "display_name": "11 UT - South Jordan", "status": "active", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "subsidiaries": [{"id": "12345", "name": "SpaceX"}, {"id": "12345", "name": "SpaceX"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.locationsUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"parent_id": "12345", "company_name": "SpaceX", "display_name": "11 UT - South Jordan", "status": "active", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "subsidiaries": [{"name": "SpaceX"}, {"name": "SpaceX"}], "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "locations", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.locationsDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "locations", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.departmentsAll: + "": + parameters: + query: + fields: "id,updated_at" + filter: {"subsidiary": "1"} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "subsidiaries", "operation": "all", "data": [{"id": "12345", "parent_id": "12345", "name": "Sales", "status": "active", "subsidiaries": [{"id": "12345", "name": "SpaceX"}, {"id": "12345", "name": "SpaceX"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "parent_id": "12345", "name": "Sales", "status": "active", "subsidiaries": [], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "parent_id": "12345", "name": "Sales", "status": "active", "subsidiaries": [{"id": "12345", "name": "SpaceX"}, {"id": "12345", "name": "SpaceX"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.departmentsAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"parent_id": "12345", "name": "Sales", "status": "active", "subsidiaries": [{"name": "SpaceX"}], "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "departments", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.departmentsOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "subsidiaries", "operation": "one", "data": {"id": "12345", "parent_id": "12345", "name": "Sales", "status": "active", "subsidiaries": [{"id": "12345", "name": "SpaceX"}, {"id": "12345", "name": "SpaceX"}], "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.departmentsUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"parent_id": "12345", "name": "Sales", "status": "active", "subsidiaries": [{"name": "SpaceX"}, {"name": "SpaceX"}, {"name": "SpaceX"}], "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "departments", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.departmentsDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "departments", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.attachmentsAll: + "": + parameters: + path: + reference_type: "invoice" + reference_id: "123456" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "PurchaseOrders", "operation": "all", "data": [{"id": "12345", "display_id": "sample ID", "name": "sample.jpg", "mime_type": "image/jpeg", "size": 1810673, "reference": {"type": "invoice", "id": "12345"}, "description": "A sample image", "parent_folder_id": "123", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "display_id": "sample ID", "name": "sample.jpg", "mime_type": "image/jpeg", "size": 1810673, "reference": {"type": "invoice", "id": "12345"}, "description": "A sample image", "parent_folder_id": "123", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "display_id": "sample ID", "name": "sample.jpg", "mime_type": "image/jpeg", "size": 1810673, "reference": {"type": "invoice", "id": "12345"}, "description": "A sample image", "parent_folder_id": "123", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.attachmentsOne: + "": + parameters: + path: + reference_type: "invoice" + reference_id: "123456" + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "payments", "operation": "one", "data": {"id": "12345", "display_id": "sample ID", "name": "sample.jpg", "mime_type": "image/jpeg", "size": 1810673, "reference": {"type": "invoice", "id": "12345"}, "description": "A sample image", "parent_folder_id": "123", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.attachmentsDelete: + "": + parameters: + path: + reference_type: "invoice" + reference_id: "123456" + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "files", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.attachmentsDownload: + "": + parameters: + path: + reference_type: "invoice" + reference_id: "123456" + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + '*/*': "0xa2c2FEfB3c" + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.trackingCategoriesAll: + "": + parameters: + query: + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "tracking-categories", "operation": "all", "data": [{"id": "12345", "parent_id": "12345", "name": "Department", "code": "100", "status": "active", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "parent_id": "12345", "name": "Department", "code": "100", "status": "active", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "parent_id": "12345", "name": "Department", "code": "100", "status": "active", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.trackingCategoriesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"parent_id": "12345", "name": "Department", "code": "100", "status": "active", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "tracking-categories", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.trackingCategoriesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "tracking-categories", "operation": "one", "data": {"id": "12345", "parent_id": "12345", "name": "Department", "code": "100", "status": "active", "row_version": "1-12345", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.trackingCategoriesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"parent_id": "12345", "name": "Department", "code": "100", "status": "active", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "tracking-categories", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.trackingCategoriesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "tracking-categories", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.billPaymentsAll: + "": + parameters: + query: + filter: {"updated_since": "2020-09-30T07:43:32.000Z"} + sort: {"by": "updated_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "payments", "operation": "all", "data": [{"id": "12345", "downstream_id": "12345", "currency": "USD", "currency_rate": 0.69, "total_amount": 49.99, "reference": "123456", "payment_method": "cash", "payment_method_reference": "123456", "payment_method_id": "12345", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "transaction_date": "2021-05-01T12:00:00.000Z", "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "reconciled": true, "status": "authorised", "type": "accounts_payable", "allocations": [{"id": "12345", "type": "bill", "code": "N091", "amount": 49.99, "allocation_id": "123456"}, {"id": "12345", "type": "bill", "code": "N091", "amount": 49.99, "allocation_id": "123456"}], "note": "Some notes about this transaction", "number": "123456", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [], "row_version": "1-12345", "display_id": "123456", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "downstream_id": "12345", "currency": "USD", "currency_rate": 0.69, "total_amount": 49.99, "reference": "123456", "payment_method": "cash", "payment_method_reference": "123456", "payment_method_id": "12345", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "transaction_date": "2021-05-01T12:00:00.000Z", "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "reconciled": true, "status": "authorised", "type": "accounts_payable", "allocations": [], "note": "Some notes about this transaction", "number": "123456", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}], "row_version": "1-12345", "display_id": "123456", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "downstream_id": "12345", "currency": "USD", "currency_rate": 0.69, "total_amount": 49.99, "reference": "123456", "payment_method": "cash", "payment_method_reference": "123456", "payment_method_id": "12345", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "transaction_date": "2021-05-01T12:00:00.000Z", "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "reconciled": true, "status": "authorised", "type": "accounts_payable", "allocations": [{"id": "12345", "type": "bill", "code": "N091", "amount": 49.99, "allocation_id": "123456"}, {"id": "12345", "type": "bill", "code": "N091", "amount": 49.99, "allocation_id": "123456"}], "note": "Some notes about this transaction", "number": "123456", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "row_version": "1-12345", "display_id": "123456", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.billPaymentsAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"currency": "USD", "currency_rate": 0.69, "total_amount": 49.99, "reference": "123456", "payment_method": "cash", "payment_method_reference": "123456", "payment_method_id": "12345", "account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "transaction_date": "2021-05-01T12:00:00.000Z", "supplier": {"id": "12345", "display_name": "Windsurf Shop", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "reconciled": true, "status": "authorised", "type": "accounts_payable", "allocations": [{"id": "12345", "type": "bill", "amount": 49.99, "allocation_id": "123456"}], "note": "Some notes about this transaction", "number": "123456", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "row_version": "1-12345", "display_id": "123456", "pass_through": []} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "payments", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.billPaymentsOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "payments", "operation": "one", "data": {"id": "12345", "downstream_id": "12345", "currency": "USD", "currency_rate": 0.69, "total_amount": 49.99, "reference": "123456", "payment_method": "cash", "payment_method_reference": "123456", "payment_method_id": "12345", "account": {"id": "123456", "name": "Bank account", "nominal_code": "N091", "code": "453"}, "transaction_date": "2021-05-01T12:00:00.000Z", "supplier": {"id": "12345", "display_id": "SUPP00101", "display_name": "Windsurf Shop", "company_name": "The boring company", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "reconciled": true, "status": "authorised", "type": "accounts_payable", "allocations": [{"id": "12345", "type": "bill", "code": "N091", "amount": 49.99, "allocation_id": "123456"}, {"id": "12345", "type": "bill", "code": "N091", "amount": 49.99, "allocation_id": "123456"}], "note": "Some notes about this transaction", "number": "123456", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "row_version": "1-12345", "display_id": "123456", "updated_by": "12345", "created_by": "12345", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.billPaymentsUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"currency": "USD", "currency_rate": 0.69, "total_amount": 49.99, "reference": "123456", "payment_method": "cash", "payment_method_reference": "123456", "payment_method_id": "12345", "account": {"id": "123456", "nominal_code": "N091", "code": "453"}, "transaction_date": "2021-05-01T12:00:00.000Z", "supplier": {"id": "12345", "display_name": "Windsurf Shop", "address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, "company_id": "12345", "reconciled": true, "status": "authorised", "type": "accounts_payable", "allocations": [{"id": "12345", "type": "bill", "amount": 49.99, "allocation_id": "123456"}, {"id": "12345", "type": "bill", "amount": 49.99, "allocation_id": "123456"}, {"id": "12345", "type": "bill", "amount": 49.99, "allocation_id": "123456"}], "note": "Some notes about this transaction", "number": "123456", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "row_version": "1-12345", "display_id": "123456", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "payments", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.billPaymentsDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "xero", "resource": "payments", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.expensesAll: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "Expenses", "operation": "all", "data": [{"id": "12345", "number": "OIT00546", "transaction_date": "2021-05-01T12:00:00.000Z", "account_id": "123456", "customer_id": "12345", "supplier_id": "12345", "company_id": "12345", "department_id": "12345", "payment_type": "cash", "currency": "USD", "currency_rate": 0.69, "type": "expense", "memo": "For travel expenses incurred on 2024-05-15", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "total_amount": 275, "line_items": [{"id": "12345", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "account_id": "123456", "customer_id": "12345", "department_id": "12345", "location_id": "12345", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "description": "Travel US.", "total_amount": 275, "billable": true}, {"id": "12345", "tracking_categories": [], "account_id": "123456", "customer_id": "12345", "department_id": "12345", "location_id": "12345", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "description": "Travel US.", "total_amount": 275, "billable": true}], "custom_fields": [], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": []}, {"id": "12345", "number": "OIT00546", "transaction_date": "2021-05-01T12:00:00.000Z", "account_id": "123456", "customer_id": "12345", "supplier_id": "12345", "company_id": "12345", "department_id": "12345", "payment_type": "cash", "currency": "USD", "currency_rate": 0.69, "type": "expense", "memo": "For travel expenses incurred on 2024-05-15", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "total_amount": 275, "line_items": [{"id": "12345", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "account_id": "123456", "customer_id": "12345", "department_id": "12345", "location_id": "12345", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "description": "Travel US.", "total_amount": 275, "billable": true}, {"id": "12345", "tracking_categories": [], "account_id": "123456", "customer_id": "12345", "department_id": "12345", "location_id": "12345", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "description": "Travel US.", "total_amount": 275, "billable": true}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}, {"id": "12345", "number": "OIT00546", "transaction_date": "2021-05-01T12:00:00.000Z", "account_id": "123456", "customer_id": "12345", "supplier_id": "12345", "company_id": "12345", "department_id": "12345", "payment_type": "cash", "currency": "USD", "currency_rate": 0.69, "type": "expense", "memo": "For travel expenses incurred on 2024-05-15", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "total_amount": 275, "line_items": [], "custom_fields": [], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.expensesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"number": "OIT00546", "transaction_date": "2021-05-01T12:00:00.000Z", "account_id": "123456", "customer_id": "12345", "supplier_id": "12345", "company_id": "12345", "department_id": "12345", "payment_type": "cash", "currency": "USD", "currency_rate": 0.69, "type": "expense", "memo": "For travel expenses incurred on 2024-05-15", "tax_rate": {"id": "123456", "rate": 10}, "total_amount": 275, "line_items": [{"tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "account_id": "123456", "customer_id": "12345", "department_id": "12345", "location_id": "12345", "tax_rate": {"id": "123456", "rate": 10}, "description": "Travel US.", "total_amount": 275, "billable": true}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "row_version": "1-12345", "pass_through": []} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "Expenses", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.expensesOne: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "Expenses", "operation": "one", "data": {"id": "12345", "number": "OIT00546", "transaction_date": "2021-05-01T12:00:00.000Z", "account_id": "123456", "customer_id": "12345", "supplier_id": "12345", "company_id": "12345", "department_id": "12345", "payment_type": "cash", "currency": "USD", "currency_rate": 0.69, "type": "expense", "memo": "For travel expenses incurred on 2024-05-15", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "total_amount": 275, "line_items": [{"id": "12345", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "account_id": "123456", "customer_id": "12345", "department_id": "12345", "location_id": "12345", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "description": "Travel US.", "total_amount": 275, "billable": true}, {"id": "12345", "tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "account_id": "123456", "customer_id": "12345", "department_id": "12345", "location_id": "12345", "tax_rate": {"id": "123456", "code": "N-T", "name": "GST on Purchases", "rate": 10}, "description": "Travel US.", "total_amount": 275, "billable": true}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": []}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.expensesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"number": "OIT00546", "transaction_date": "2021-05-01T12:00:00.000Z", "account_id": "123456", "customer_id": "12345", "supplier_id": "12345", "company_id": "12345", "department_id": "12345", "payment_type": "cash", "currency": "USD", "currency_rate": 0.69, "type": "expense", "memo": "For travel expenses incurred on 2024-05-15", "tax_rate": {"id": "123456", "rate": 10}, "total_amount": 275, "line_items": [{"tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "account_id": "123456", "customer_id": "12345", "department_id": "12345", "location_id": "12345", "tax_rate": {"id": "123456", "rate": 10}, "description": "Travel US.", "total_amount": 275, "billable": true}, {"tracking_categories": [{"id": "123456", "name": "New York"}], "account_id": "123456", "customer_id": "12345", "department_id": "12345", "location_id": "12345", "tax_rate": {"id": "123456", "rate": 10}, "description": "Travel US.", "total_amount": 275, "billable": true}, {"tracking_categories": [{"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}, {"id": "123456", "name": "New York"}], "account_id": "123456", "customer_id": "12345", "department_id": "12345", "location_id": "12345", "tax_rate": {"id": "123456", "rate": 10}, "description": "Travel US.", "total_amount": 275, "billable": true}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}], "row_version": "1-12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "Expenses", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + accounting.expensesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "quickbooks", "resource": "Expenses", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ats.jobsAll: + "": + parameters: + query: + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "lever", "resource": "Jobs", "operation": "all", "data": [{"id": "12345", "slug": "ceo", "title": "CEO", "sequence": 3, "visibility": "internal", "status": "completed", "code": "123-OC", "language": "EN", "employment_terms": "full-time", "experience": "Director/ Vice President", "location": "San Francisco", "remote": true, "requisition_id": "abc123", "department": {"id": "12345", "parent_id": "22345", "name": "R&D", "code": "2", "description": "R&D", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, "branch": {"id": "123", "name": "HQ NY"}, "recruiters": ["a0d636c6-43b3-4bde-8c70-85b707d992f4"], "hiring_managers": ["123456"], "followers": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "description": "A description", "blocks": [{"title": "string", "content": "string"}], "closing": "The closing section of the job description", "closing_date": "2020-10-30", "salary": {"min": 8000, "max": 10000, "currency": "USD", "interval": "year"}, "links": [], "confidential": false, "available_to_employees": false, "tags": ["New"], "addresses": [], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "deleted": true, "owner_id": "54321", "published_at": "2020-09-30T07:43:32.000Z", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "slug": "ceo", "title": "CEO", "sequence": 3, "visibility": "internal", "status": "completed", "code": "123-OC", "language": "EN", "employment_terms": "full-time", "experience": "Director/ Vice President", "location": "San Francisco", "remote": true, "requisition_id": "abc123", "department": {"id": "12345", "parent_id": "22345", "name": "R&D", "code": "2", "description": "R&D", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": []}]}, "branch": {"id": "123", "name": "HQ NY"}, "recruiters": ["a0d636c6-43b3-4bde-8c70-85b707d992f4"], "hiring_managers": ["123456"], "followers": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "description": "A description", "blocks": [{"title": "string", "content": "string"}], "closing": "The closing section of the job description", "closing_date": "2020-10-30", "salary": {"min": 8000, "max": 10000, "currency": "USD", "interval": "year"}, "links": [{"type": "job_portal", "url": "https://app.intercom.io/contacts/12345"}, {"type": "job_portal", "url": "https://app.intercom.io/contacts/12345"}], "confidential": false, "available_to_employees": false, "tags": ["New"], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "deleted": true, "owner_id": "54321", "published_at": "2020-09-30T07:43:32.000Z", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "slug": "ceo", "title": "CEO", "sequence": 3, "visibility": "internal", "status": "completed", "code": "123-OC", "language": "EN", "employment_terms": "full-time", "experience": "Director/ Vice President", "location": "San Francisco", "remote": true, "requisition_id": "abc123", "department": {"id": "12345", "parent_id": "22345", "name": "R&D", "code": "2", "description": "R&D", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}, "branch": {"id": "123", "name": "HQ NY"}, "recruiters": ["a0d636c6-43b3-4bde-8c70-85b707d992f4"], "hiring_managers": ["123456"], "followers": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "description": "A description", "blocks": [{"title": "string", "content": "string"}], "closing": "The closing section of the job description", "closing_date": "2020-10-30", "salary": {"min": 8000, "max": 10000, "currency": "USD", "interval": "year"}, "links": [], "confidential": false, "available_to_employees": false, "tags": ["New"], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "deleted": true, "owner_id": "54321", "published_at": "2020-09-30T07:43:32.000Z", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ats.jobsOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "lever", "resource": "Jobs", "operation": "one", "data": {"id": "12345", "slug": "ceo", "title": "CEO", "sequence": 3, "visibility": "internal", "status": "completed", "code": "123-OC", "language": "EN", "employment_terms": "full-time", "experience": "Director/ Vice President", "location": "San Francisco", "remote": true, "requisition_id": "abc123", "department": {"id": "12345", "parent_id": "22345", "name": "R&D", "code": "2", "description": "R&D", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}, "branch": {"id": "123", "name": "HQ NY"}, "recruiters": ["a0d636c6-43b3-4bde-8c70-85b707d992f4"], "hiring_managers": ["123456"], "followers": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "description": "A description", "blocks": [{"title": "string", "content": "string"}], "closing": "The closing section of the job description", "closing_date": "2020-10-30", "salary": {"min": 8000, "max": 10000, "currency": "USD", "interval": "year"}, "links": [{"type": "job_portal", "url": "https://app.intercom.io/contacts/12345"}, {"type": "job_portal", "url": "https://app.intercom.io/contacts/12345"}], "confidential": false, "available_to_employees": false, "tags": ["New"], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}], "deleted": true, "owner_id": "54321", "published_at": "2020-09-30T07:43:32.000Z", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ats.applicantsAll: + "": + parameters: + query: + filter: {"job_id": "1234"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "lever", "resource": "Applicants", "operation": "all", "data": [{"id": "12345", "name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "initials": "EM", "birthday": "2000-08-12", "cover_letter": "I submit this application to express my sincere interest in the API developer position. In the previous role, I was responsible for leadership and ...", "job_url": "https://democompany.recruitee.com/o/example-talent-pool", "photo_url": "https://unavatar.io/elon-musk", "headline": "PepsiCo, Inc, Central Perk", "title": "CEO", "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}], "phone_numbers": [], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "social_links": [], "stage_id": "12345", "recruiter_id": "12345", "coordinator_id": "12345", "application_ids": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "applications": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "followers": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "sources": ["Job site"], "source_id": "12345", "confidential": false, "anonymized": true, "tags": ["New"], "archived": false, "last_interaction_at": "2020-09-30T07:43:32.000Z", "owner_id": "54321", "sourced_by": "12345", "cv_url": "https://recruitee-main.s3.eu-central-1.amazonaws.com/candidates/36615291/pdf_cv_38swhu4w42k1.pdf?response-content-disposition=inline&response-content-type=application%2Fpdf&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAQYHB7CA5RLR4Y3ON%2F20220514%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20220514T235654Z&X-Amz-Expires=36000&X-Amz-SignedHeaders=host&X-Amz-Signature=72c0621f5976db75b54de487eb821a8e73480d7f2a6a4a9713ab997944b0561f", "record_url": "https://app.intercom.io/contacts/12345", "rejected_at": "2020-09-30T07:43:32.000Z", "deleted": true, "deleted_by": "12345", "deleted_at": "2020-09-30T07:43:32.000Z", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "initials": "EM", "birthday": "2000-08-12", "cover_letter": "I submit this application to express my sincere interest in the API developer position. In the previous role, I was responsible for leadership and ...", "job_url": "https://democompany.recruitee.com/o/example-talent-pool", "photo_url": "https://unavatar.io/elon-musk", "headline": "PepsiCo, Inc, Central Perk", "title": "CEO", "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "phone_numbers": [], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}], "social_links": [], "stage_id": "12345", "recruiter_id": "12345", "coordinator_id": "12345", "application_ids": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "applications": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "followers": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "sources": ["Job site"], "source_id": "12345", "confidential": false, "anonymized": true, "tags": ["New"], "archived": false, "last_interaction_at": "2020-09-30T07:43:32.000Z", "owner_id": "54321", "sourced_by": "12345", "cv_url": "https://recruitee-main.s3.eu-central-1.amazonaws.com/candidates/36615291/pdf_cv_38swhu4w42k1.pdf?response-content-disposition=inline&response-content-type=application%2Fpdf&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAQYHB7CA5RLR4Y3ON%2F20220514%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20220514T235654Z&X-Amz-Expires=36000&X-Amz-SignedHeaders=host&X-Amz-Signature=72c0621f5976db75b54de487eb821a8e73480d7f2a6a4a9713ab997944b0561f", "record_url": "https://app.intercom.io/contacts/12345", "rejected_at": "2020-09-30T07:43:32.000Z", "deleted": true, "deleted_by": "12345", "deleted_at": "2020-09-30T07:43:32.000Z", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}, {"id": "12345", "name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "initials": "EM", "birthday": "2000-08-12", "cover_letter": "I submit this application to express my sincere interest in the API developer position. In the previous role, I was responsible for leadership and ...", "job_url": "https://democompany.recruitee.com/o/example-talent-pool", "photo_url": "https://unavatar.io/elon-musk", "headline": "PepsiCo, Inc, Central Perk", "title": "CEO", "emails": [], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "social_links": [], "stage_id": "12345", "recruiter_id": "12345", "coordinator_id": "12345", "application_ids": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "applications": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "followers": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "sources": ["Job site"], "source_id": "12345", "confidential": false, "anonymized": true, "tags": ["New"], "archived": false, "last_interaction_at": "2020-09-30T07:43:32.000Z", "owner_id": "54321", "sourced_by": "12345", "cv_url": "https://recruitee-main.s3.eu-central-1.amazonaws.com/candidates/36615291/pdf_cv_38swhu4w42k1.pdf?response-content-disposition=inline&response-content-type=application%2Fpdf&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAQYHB7CA5RLR4Y3ON%2F20220514%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20220514T235654Z&X-Amz-Expires=36000&X-Amz-SignedHeaders=host&X-Amz-Signature=72c0621f5976db75b54de487eb821a8e73480d7f2a6a4a9713ab997944b0561f", "record_url": "https://app.intercom.io/contacts/12345", "rejected_at": "2020-09-30T07:43:32.000Z", "deleted": true, "deleted_by": "12345", "deleted_at": "2020-09-30T07:43:32.000Z", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ats.applicantsAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "initials": "EM", "birthday": "2000-08-12", "cover_letter": "I submit this application to express my sincere interest in the API developer position. In the previous role, I was responsible for leadership and ...", "photo_url": "https://unavatar.io/elon-musk", "headline": "PepsiCo, Inc, Central Perk", "title": "CEO", "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "phone_numbers": [], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "social_links": [], "stage_id": "12345", "recruiter_id": "12345", "coordinator_id": "12345", "application_ids": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "applications": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "followers": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "sources": ["Job site"], "confidential": false, "anonymized": true, "tags": ["New"], "archived": false, "owner_id": "54321", "record_url": "https://app.intercom.io/contacts/12345", "deleted": true, "pass_through": []} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "lever", "resource": "Applicants", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ats.applicantsOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "lever", "resource": "Applicants", "operation": "one", "data": {"id": "12345", "name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "initials": "EM", "birthday": "2000-08-12", "cover_letter": "I submit this application to express my sincere interest in the API developer position. In the previous role, I was responsible for leadership and ...", "job_url": "https://democompany.recruitee.com/o/example-talent-pool", "photo_url": "https://unavatar.io/elon-musk", "headline": "PepsiCo, Inc, Central Perk", "title": "CEO", "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "stage_id": "12345", "recruiter_id": "12345", "coordinator_id": "12345", "application_ids": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "applications": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "followers": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "sources": ["Job site"], "source_id": "12345", "confidential": false, "anonymized": true, "tags": ["New"], "archived": false, "last_interaction_at": "2020-09-30T07:43:32.000Z", "owner_id": "54321", "sourced_by": "12345", "cv_url": "https://recruitee-main.s3.eu-central-1.amazonaws.com/candidates/36615291/pdf_cv_38swhu4w42k1.pdf?response-content-disposition=inline&response-content-type=application%2Fpdf&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAQYHB7CA5RLR4Y3ON%2F20220514%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20220514T235654Z&X-Amz-Expires=36000&X-Amz-SignedHeaders=host&X-Amz-Signature=72c0621f5976db75b54de487eb821a8e73480d7f2a6a4a9713ab997944b0561f", "record_url": "https://app.intercom.io/contacts/12345", "rejected_at": "2020-09-30T07:43:32.000Z", "deleted": true, "deleted_by": "12345", "deleted_at": "2020-09-30T07:43:32.000Z", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ats.applicantsUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "initials": "EM", "birthday": "2000-08-12", "cover_letter": "I submit this application to express my sincere interest in the API developer position. In the previous role, I was responsible for leadership and ...", "photo_url": "https://unavatar.io/elon-musk", "headline": "PepsiCo, Inc, Central Perk", "title": "CEO", "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "websites": [], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "stage_id": "12345", "recruiter_id": "12345", "coordinator_id": "12345", "application_ids": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "applications": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "followers": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "sources": ["Job site"], "confidential": false, "anonymized": true, "tags": ["New"], "archived": false, "owner_id": "54321", "record_url": "https://app.intercom.io/contacts/12345", "deleted": true, "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "lever", "resource": "Applicants", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ats.applicantsDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "lever", "resource": "Applicants", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ats.applicationsAll: + "": + parameters: + query: + pass_through: {"search": "San Francisco"} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "sap-successfactors", "resource": "Applications", "operation": "all", "data": [{"id": "12345", "applicant_id": "12345", "job_id": "12345", "status": "open", "stage": {"id": "12345", "name": "12345"}, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "applicant_id": "12345", "job_id": "12345", "status": "open", "stage": {"id": "12345", "name": "12345"}, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "applicant_id": "12345", "job_id": "12345", "status": "open", "stage": {"id": "12345", "name": "12345"}, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ats.applicationsAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"applicant_id": "12345", "job_id": "12345", "status": "open", "stage": {"id": "12345", "name": "12345"}, "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "sap-successfactors", "resource": "Applications", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ats.applicationsOne: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "sap-successfactors", "resource": "Applications", "operation": "one", "data": {"id": "12345", "applicant_id": "12345", "job_id": "12345", "status": "open", "stage": {"id": "12345", "name": "12345"}, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ats.applicationsUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"applicant_id": "12345", "job_id": "12345", "status": "open", "stage": {"id": "12345", "name": "12345"}, "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "sap-successfactors", "resource": "Applications", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ats.applicationsDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "sap-successfactors", "resource": "Applications", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.companiesAll: + "": + parameters: + query: + filter: {"name": "SpaceX"} + sort: {"by": "created_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "all", "data": [{"id": "12345", "name": "SpaceX", "interaction_count": 1, "owner_id": "12345", "image": "https://www.spacex.com/static/images/share.jpg", "description": "Space Exploration Technologies Corp. is an American aerospace manufacturer, space transportation services and communications company headquartered in Hawthorne, California.", "vat_number": "BE0689615164", "currency": "USD", "status": "Open", "fax": "+12129876543", "annual_revenue": "+$35m", "number_of_employees": "500-1000", "industry": "Apparel", "ownership": "Public", "sales_tax_number": "12456EN", "payee_number": "78932EN", "abn_or_tfn": "46 115 614 695", "abn_branch": "123", "acn": "XXX XXX XXX", "first_name": "Elon", "last_name": "Musk", "parent_id": "22345", "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [], "social_links": [], "phone_numbers": [], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "row_type": {"id": "12345", "name": "Customer Account"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}], "tags": ["New"], "read_only": false, "last_activity_at": "2020-09-30T07:43:32.000Z", "deleted": false, "salutation": "Mr", "birthday": "2000-08-12", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "name": "SpaceX", "interaction_count": 1, "owner_id": "12345", "image": "https://www.spacex.com/static/images/share.jpg", "description": "Space Exploration Technologies Corp. is an American aerospace manufacturer, space transportation services and communications company headquartered in Hawthorne, California.", "vat_number": "BE0689615164", "currency": "USD", "status": "Open", "fax": "+12129876543", "annual_revenue": "+$35m", "number_of_employees": "500-1000", "industry": "Apparel", "ownership": "Public", "sales_tax_number": "12456EN", "payee_number": "78932EN", "abn_or_tfn": "46 115 614 695", "abn_branch": "123", "acn": "XXX XXX XXX", "first_name": "Elon", "last_name": "Musk", "parent_id": "22345", "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [], "phone_numbers": [], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "row_type": {"id": "12345", "name": "Customer Account"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "tags": ["New"], "read_only": false, "last_activity_at": "2020-09-30T07:43:32.000Z", "deleted": false, "salutation": "Mr", "birthday": "2000-08-12", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}, {"id": "12345", "name": "SpaceX", "interaction_count": 1, "owner_id": "12345", "image": "https://www.spacex.com/static/images/share.jpg", "description": "Space Exploration Technologies Corp. is an American aerospace manufacturer, space transportation services and communications company headquartered in Hawthorne, California.", "vat_number": "BE0689615164", "currency": "USD", "status": "Open", "fax": "+12129876543", "annual_revenue": "+$35m", "number_of_employees": "500-1000", "industry": "Apparel", "ownership": "Public", "sales_tax_number": "12456EN", "payee_number": "78932EN", "abn_or_tfn": "46 115 614 695", "abn_branch": "123", "acn": "XXX XXX XXX", "first_name": "Elon", "last_name": "Musk", "parent_id": "22345", "bank_accounts": [], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "row_type": {"id": "12345", "name": "Customer Account"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}], "tags": ["New"], "read_only": false, "last_activity_at": "2020-09-30T07:43:32.000Z", "deleted": false, "salutation": "Mr", "birthday": "2000-08-12", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.companiesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "SpaceX", "owner_id": "12345", "image": "https://www.spacex.com/static/images/share.jpg", "description": "Space Exploration Technologies Corp. is an American aerospace manufacturer, space transportation services and communications company headquartered in Hawthorne, California.", "vat_number": "BE0689615164", "currency": "USD", "status": "Open", "fax": "+12129876543", "annual_revenue": "+$35m", "number_of_employees": "500-1000", "industry": "Apparel", "ownership": "Public", "sales_tax_number": "12456EN", "payee_number": "78932EN", "abn_or_tfn": "46 115 614 695", "abn_branch": "123", "acn": "XXX XXX XXX", "first_name": "Elon", "last_name": "Musk", "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [], "phone_numbers": [], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "row_type": {"id": "12345", "name": "Customer Account"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "tags": ["New"], "read_only": false, "salutation": "Mr", "birthday": "2000-08-12", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.companiesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "one", "data": {"id": "12345", "name": "SpaceX", "interaction_count": 1, "owner_id": "12345", "image": "https://www.spacex.com/static/images/share.jpg", "description": "Space Exploration Technologies Corp. is an American aerospace manufacturer, space transportation services and communications company headquartered in Hawthorne, California.", "vat_number": "BE0689615164", "currency": "USD", "status": "Open", "fax": "+12129876543", "annual_revenue": "+$35m", "number_of_employees": "500-1000", "industry": "Apparel", "ownership": "Public", "sales_tax_number": "12456EN", "payee_number": "78932EN", "abn_or_tfn": "46 115 614 695", "abn_branch": "123", "acn": "XXX XXX XXX", "first_name": "Elon", "last_name": "Musk", "parent_id": "22345", "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "row_type": {"id": "12345", "name": "Customer Account"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}], "tags": ["New"], "read_only": false, "last_activity_at": "2020-09-30T07:43:32.000Z", "deleted": false, "salutation": "Mr", "birthday": "2000-08-12", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.companiesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "SpaceX", "owner_id": "12345", "image": "https://www.spacex.com/static/images/share.jpg", "description": "Space Exploration Technologies Corp. is an American aerospace manufacturer, space transportation services and communications company headquartered in Hawthorne, California.", "vat_number": "BE0689615164", "currency": "USD", "status": "Open", "fax": "+12129876543", "annual_revenue": "+$35m", "number_of_employees": "500-1000", "industry": "Apparel", "ownership": "Public", "sales_tax_number": "12456EN", "payee_number": "78932EN", "abn_or_tfn": "46 115 614 695", "abn_branch": "123", "acn": "XXX XXX XXX", "first_name": "Elon", "last_name": "Musk", "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "row_type": {"id": "12345", "name": "Customer Account"}, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}], "tags": ["New"], "read_only": false, "salutation": "Mr", "birthday": "2000-08-12", "pass_through": []} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.companiesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.contactsAll: + "": + parameters: + query: + filter: {"first_name": "Elon", "last_name": "Musk", "email": "elon@tesla.com", "company_id": "12345", "owner_id": "12345"} + sort: {"by": "created_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "contacts", "operation": "all", "data": [{"id": "12345", "name": "Elon Musk", "owner_id": "54321", "type": "personal", "company_id": "23456", "company_name": "23456", "lead_id": "34567", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "prefix": "Mr.", "suffix": "PhD", "title": "CEO", "department": "Engineering", "language": "EN", "gender": "female", "birthday": "2000-08-12", "photo_url": "https://unavatar.io/elon-musk", "lead_source": "Cold Call", "fax": "+12129876543", "description": "Internal champion", "current_balance": 10.5, "status": "open", "active": true, "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [], "phone_numbers": [], "emails": [], "email_domain": "gmail.com", "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "tags": ["New"], "first_call_at": "2020-09-30T07:43:32.000Z", "first_email_at": "2020-09-30T07:43:32.000Z", "last_activity_at": "2020-09-30T07:43:32.000Z", "updated_at": "2017-08-12T20:43:21.291Z", "created_at": "2017-08-12T20:43:21.291Z", "opportunity_ids": ["12345"], "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "name": "Elon Musk", "owner_id": "54321", "type": "personal", "company_id": "23456", "company_name": "23456", "lead_id": "34567", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "prefix": "Mr.", "suffix": "PhD", "title": "CEO", "department": "Engineering", "language": "EN", "gender": "female", "birthday": "2000-08-12", "photo_url": "https://unavatar.io/elon-musk", "lead_source": "Cold Call", "fax": "+12129876543", "description": "Internal champion", "current_balance": 10.5, "status": "open", "active": true, "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "phone_numbers": [], "emails": [], "email_domain": "gmail.com", "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}], "tags": ["New"], "first_call_at": "2020-09-30T07:43:32.000Z", "first_email_at": "2020-09-30T07:43:32.000Z", "last_activity_at": "2020-09-30T07:43:32.000Z", "updated_at": "2017-08-12T20:43:21.291Z", "created_at": "2017-08-12T20:43:21.291Z", "opportunity_ids": ["12345"], "pass_through": []}, {"id": "12345", "name": "Elon Musk", "owner_id": "54321", "type": "personal", "company_id": "23456", "company_name": "23456", "lead_id": "34567", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "prefix": "Mr.", "suffix": "PhD", "title": "CEO", "department": "Engineering", "language": "EN", "gender": "female", "birthday": "2000-08-12", "photo_url": "https://unavatar.io/elon-musk", "lead_source": "Cold Call", "fax": "+12129876543", "description": "Internal champion", "current_balance": 10.5, "status": "open", "active": true, "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [], "email_domain": "gmail.com", "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}], "tags": ["New"], "first_call_at": "2020-09-30T07:43:32.000Z", "first_email_at": "2020-09-30T07:43:32.000Z", "last_activity_at": "2020-09-30T07:43:32.000Z", "updated_at": "2017-08-12T20:43:21.291Z", "created_at": "2017-08-12T20:43:21.291Z", "opportunity_ids": ["12345"], "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.contactsAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "Elon Musk", "owner_id": "54321", "type": "personal", "company_id": "23456", "company_name": "23456", "lead_id": "34567", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "prefix": "Mr.", "suffix": "PhD", "title": "CEO", "department": "Engineering", "language": "EN", "gender": "female", "birthday": "2000-08-12", "photo_url": "https://unavatar.io/elon-musk", "lead_source": "Cold Call", "fax": "+12129876543", "description": "Internal champion", "current_balance": 10.5, "status": "open", "active": true, "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "phone_numbers": [], "emails": [], "email_domain": "gmail.com", "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "tags": ["New"], "opportunity_ids": ["12345"], "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "contacts", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.contactsOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + filter: {"first_name": "Elon", "last_name": "Musk", "email": "elon@tesla.com", "company_id": "12345", "owner_id": "12345"} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "one", "data": {"id": "12345", "name": "Elon Musk", "owner_id": "54321", "type": "personal", "company_id": "23456", "company_name": "23456", "lead_id": "34567", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "prefix": "Mr.", "suffix": "PhD", "title": "CEO", "department": "Engineering", "language": "EN", "gender": "female", "birthday": "2000-08-12", "photo_url": "https://unavatar.io/elon-musk", "lead_source": "Cold Call", "fax": "+12129876543", "description": "Internal champion", "current_balance": 10.5, "status": "open", "active": true, "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "email_domain": "gmail.com", "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}], "tags": ["New"], "first_call_at": "2020-09-30T07:43:32.000Z", "first_email_at": "2020-09-30T07:43:32.000Z", "last_activity_at": "2020-09-30T07:43:32.000Z", "updated_at": "2017-08-12T20:43:21.291Z", "created_at": "2017-08-12T20:43:21.291Z", "opportunity_ids": ["12345"], "pass_through": [{"service_id": "", "extend_paths": []}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.contactsUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "Elon Musk", "owner_id": "54321", "type": "personal", "company_id": "23456", "company_name": "23456", "lead_id": "34567", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "prefix": "Mr.", "suffix": "PhD", "title": "CEO", "department": "Engineering", "language": "EN", "gender": "female", "birthday": "2000-08-12", "photo_url": "https://unavatar.io/elon-musk", "lead_source": "Cold Call", "fax": "+12129876543", "description": "Internal champion", "current_balance": 10.5, "status": "open", "active": true, "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "email_domain": "gmail.com", "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}], "tags": ["New"], "opportunity_ids": ["12345"], "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "contacts", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.contactsDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "contacts", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.opportunitiesAll: + "": + parameters: + query: + filter: {"status": "Completed", "monetary_amount": 75000} + sort: {"by": "created_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "opportunities", "operation": "all", "data": [{"id": "12345", "title": "New Rocket", "primary_contact_id": "12345", "description": "Opportunities are created for People and Companies that are interested in buying your products or services. Create Opportunities for People and Companies to move them through one of your Pipelines.", "type": "Existing Customer - Upgrade", "monetary_amount": 75000, "currency": "USD", "win_probability": 40, "expected_revenue": 75000, "close_date": "2020-10-30", "loss_reason_id": "12345", "loss_reason": "No budget", "won_reason_id": "12345", "won_reason": "Best pitch", "pipeline_id": "12345", "pipeline_stage_id": "12345", "source_id": "12345", "lead_id": "12345", "lead_source": "Website", "contact_id": "12345", "contact_ids": ["12345"], "company_id": "12345", "company_name": "Copper", "owner_id": "12345", "priority": "None", "status": "Open", "status_id": "12345", "tags": ["New"], "interaction_count": 0, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}], "stage_last_changed_at": "2020-09-30T07:43:32.000Z", "last_activity_at": "2020-09-30T07:43:32.000Z", "deleted": false, "date_stage_changed": "2020-09-30T00:00:00.000Z", "date_last_contacted": "2020-09-30T00:00:00.000Z", "date_lead_created": "2020-09-30T00:00:00.000Z", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "title": "New Rocket", "primary_contact_id": "12345", "description": "Opportunities are created for People and Companies that are interested in buying your products or services. Create Opportunities for People and Companies to move them through one of your Pipelines.", "type": "Existing Customer - Upgrade", "monetary_amount": 75000, "currency": "USD", "win_probability": 40, "expected_revenue": 75000, "close_date": "2020-10-30", "loss_reason_id": "12345", "loss_reason": "No budget", "won_reason_id": "12345", "won_reason": "Best pitch", "pipeline_id": "12345", "pipeline_stage_id": "12345", "source_id": "12345", "lead_id": "12345", "lead_source": "Website", "contact_id": "12345", "contact_ids": ["12345"], "company_id": "12345", "company_name": "Copper", "owner_id": "12345", "priority": "None", "status": "Open", "status_id": "12345", "tags": ["New"], "interaction_count": 0, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "stage_last_changed_at": "2020-09-30T07:43:32.000Z", "last_activity_at": "2020-09-30T07:43:32.000Z", "deleted": false, "date_stage_changed": "2020-09-30T00:00:00.000Z", "date_last_contacted": "2020-09-30T00:00:00.000Z", "date_lead_created": "2020-09-30T00:00:00.000Z", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "title": "New Rocket", "primary_contact_id": "12345", "description": "Opportunities are created for People and Companies that are interested in buying your products or services. Create Opportunities for People and Companies to move them through one of your Pipelines.", "type": "Existing Customer - Upgrade", "monetary_amount": 75000, "currency": "USD", "win_probability": 40, "expected_revenue": 75000, "close_date": "2020-10-30", "loss_reason_id": "12345", "loss_reason": "No budget", "won_reason_id": "12345", "won_reason": "Best pitch", "pipeline_id": "12345", "pipeline_stage_id": "12345", "source_id": "12345", "lead_id": "12345", "lead_source": "Website", "contact_id": "12345", "contact_ids": ["12345"], "company_id": "12345", "company_name": "Copper", "owner_id": "12345", "priority": "None", "status": "Open", "status_id": "12345", "tags": ["New"], "interaction_count": 0, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "stage_last_changed_at": "2020-09-30T07:43:32.000Z", "last_activity_at": "2020-09-30T07:43:32.000Z", "deleted": false, "date_stage_changed": "2020-09-30T00:00:00.000Z", "date_last_contacted": "2020-09-30T00:00:00.000Z", "date_lead_created": "2020-09-30T00:00:00.000Z", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.opportunitiesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"title": "New Rocket", "primary_contact_id": "12345", "description": "Opportunities are created for People and Companies that are interested in buying your products or services. Create Opportunities for People and Companies to move them through one of your Pipelines.", "type": "Existing Customer - Upgrade", "monetary_amount": 75000, "currency": "USD", "win_probability": 40, "close_date": "2020-10-30", "loss_reason_id": "12345", "loss_reason": "No budget", "won_reason_id": "12345", "won_reason": "Best pitch", "pipeline_id": "12345", "pipeline_stage_id": "12345", "source_id": "12345", "lead_id": "12345", "lead_source": "Website", "contact_id": "12345", "contact_ids": ["12345"], "company_id": "12345", "company_name": "Copper", "owner_id": "12345", "priority": "None", "status": "Open", "status_id": "12345", "tags": ["New"], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "stage_last_changed_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "opportunities", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.opportunitiesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "opportunities", "operation": "one", "data": {"id": "12345", "title": "New Rocket", "primary_contact_id": "12345", "description": "Opportunities are created for People and Companies that are interested in buying your products or services. Create Opportunities for People and Companies to move them through one of your Pipelines.", "type": "Existing Customer - Upgrade", "monetary_amount": 75000, "currency": "USD", "win_probability": 40, "expected_revenue": 75000, "close_date": "2020-10-30", "loss_reason_id": "12345", "loss_reason": "No budget", "won_reason_id": "12345", "won_reason": "Best pitch", "pipeline_id": "12345", "pipeline_stage_id": "12345", "source_id": "12345", "lead_id": "12345", "lead_source": "Website", "contact_id": "12345", "contact_ids": ["12345"], "company_id": "12345", "company_name": "Copper", "owner_id": "12345", "priority": "None", "status": "Open", "status_id": "12345", "tags": ["New"], "interaction_count": 0, "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "stage_last_changed_at": "2020-09-30T07:43:32.000Z", "last_activity_at": "2020-09-30T07:43:32.000Z", "deleted": false, "date_stage_changed": "2020-09-30T00:00:00.000Z", "date_last_contacted": "2020-09-30T00:00:00.000Z", "date_lead_created": "2020-09-30T00:00:00.000Z", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.opportunitiesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"title": "New Rocket", "primary_contact_id": "12345", "description": "Opportunities are created for People and Companies that are interested in buying your products or services. Create Opportunities for People and Companies to move them through one of your Pipelines.", "type": "Existing Customer - Upgrade", "monetary_amount": 75000, "currency": "USD", "win_probability": 40, "close_date": "2020-10-30", "loss_reason_id": "12345", "loss_reason": "No budget", "won_reason_id": "12345", "won_reason": "Best pitch", "pipeline_id": "12345", "pipeline_stage_id": "12345", "source_id": "12345", "lead_id": "12345", "lead_source": "Website", "contact_id": "12345", "contact_ids": ["12345"], "company_id": "12345", "company_name": "Copper", "owner_id": "12345", "priority": "None", "status": "Open", "status_id": "12345", "tags": ["New"], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "stage_last_changed_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.opportunitiesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.leadsAll: + "": + parameters: + query: + filter: {"first_name": "Elon", "last_name": "Musk", "email": "elon@tesla.com", "phone_number": "1234567890"} + sort: {"by": "created_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "all", "data": [{"id": "12345", "name": "Elon Musk", "company_name": "Spacex", "owner_id": "54321", "owner_name": "John Doe", "company_id": "2", "lead_id": "2", "lead_source": "Cold Call", "first_name": "Elon", "last_name": "Musk", "description": "A thinker", "prefix": "Sir", "title": "CEO", "language": "EN", "status": "New", "monetary_amount": 75000, "currency": "USD", "fax": "+12129876543", "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [], "phone_numbers": [], "emails": [], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "tags": ["New"], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "name": "Elon Musk", "company_name": "Spacex", "owner_id": "54321", "owner_name": "John Doe", "company_id": "2", "lead_id": "2", "lead_source": "Cold Call", "first_name": "Elon", "last_name": "Musk", "description": "A thinker", "prefix": "Sir", "title": "CEO", "language": "EN", "status": "New", "monetary_amount": 75000, "currency": "USD", "fax": "+12129876543", "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "phone_numbers": [], "emails": [], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}], "tags": ["New"], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "name": "Elon Musk", "company_name": "Spacex", "owner_id": "54321", "owner_name": "John Doe", "company_id": "2", "lead_id": "2", "lead_source": "Cold Call", "first_name": "Elon", "last_name": "Musk", "description": "A thinker", "prefix": "Sir", "title": "CEO", "language": "EN", "status": "New", "monetary_amount": 75000, "currency": "USD", "fax": "+12129876543", "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}], "tags": ["New"], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.leadsAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "Elon Musk", "company_name": "Spacex", "owner_id": "54321", "owner_name": "John Doe", "company_id": "2", "lead_id": "2", "lead_source": "Cold Call", "first_name": "Elon", "last_name": "Musk", "description": "A thinker", "prefix": "Sir", "title": "CEO", "language": "EN", "status": "New", "monetary_amount": 75000, "currency": "USD", "fax": "+12129876543", "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "phone_numbers": [], "emails": [], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "tags": ["New"], "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.leadsOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "one", "data": {"id": "12345", "name": "Elon Musk", "company_name": "Spacex", "owner_id": "54321", "owner_name": "John Doe", "company_id": "2", "lead_id": "2", "lead_source": "Cold Call", "first_name": "Elon", "last_name": "Musk", "description": "A thinker", "prefix": "Sir", "title": "CEO", "language": "EN", "status": "New", "monetary_amount": 75000, "currency": "USD", "fax": "+12129876543", "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}], "tags": ["New"], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.leadsUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "Elon Musk", "company_name": "Spacex", "owner_id": "54321", "owner_name": "John Doe", "company_id": "2", "lead_id": "2", "lead_source": "Cold Call", "first_name": "Elon", "last_name": "Musk", "description": "A thinker", "prefix": "Sir", "title": "CEO", "language": "EN", "status": "New", "monetary_amount": 75000, "currency": "USD", "fax": "+12129876543", "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}], "tags": ["New"], "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.leadsDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.pipelinesAll: + "": + parameters: + query: + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "pipelines", "operation": "all", "data": [{"id": "default", "name": "Sales Pipeline", "currency": "USD", "archived": false, "active": false, "display_order": 1, "win_probability_enabled": true, "stages": [{"id": "contractsent", "name": "Contract Sent", "value": "CONTRACT_SENT", "win_probability": 50, "display_order": 1}, {"id": "contractsent", "name": "Contract Sent", "value": "CONTRACT_SENT", "win_probability": 50, "display_order": 1}], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": []}]}, {"id": "default", "name": "Sales Pipeline", "currency": "USD", "archived": false, "active": false, "display_order": 1, "win_probability_enabled": true, "stages": [], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "default", "name": "Sales Pipeline", "currency": "USD", "archived": false, "active": false, "display_order": 1, "win_probability_enabled": true, "stages": [{"id": "contractsent", "name": "Contract Sent", "value": "CONTRACT_SENT", "win_probability": 50, "display_order": 1}, {"id": "contractsent", "name": "Contract Sent", "value": "CONTRACT_SENT", "win_probability": 50, "display_order": 1}], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.pipelinesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"id": "default", "name": "Sales Pipeline", "currency": "USD", "archived": false, "active": false, "display_order": 1, "win_probability_enabled": true, "stages": [{"name": "Contract Sent", "value": "CONTRACT_SENT", "win_probability": 50, "display_order": 1}], "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "pipelines", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.pipelinesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "pipelines", "operation": "one", "data": {"id": "default", "name": "Sales Pipeline", "currency": "USD", "archived": false, "active": false, "display_order": 1, "win_probability_enabled": true, "stages": [{"id": "contractsent", "name": "Contract Sent", "value": "CONTRACT_SENT", "win_probability": 50, "display_order": 1}, {"id": "contractsent", "name": "Contract Sent", "value": "CONTRACT_SENT", "win_probability": 50, "display_order": 1}], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.pipelinesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"id": "default", "name": "Sales Pipeline", "currency": "USD", "archived": false, "active": false, "display_order": 1, "win_probability_enabled": true, "stages": [{"name": "Contract Sent", "value": "CONTRACT_SENT", "win_probability": 50, "display_order": 1}, {"name": "Contract Sent", "value": "CONTRACT_SENT", "win_probability": 50, "display_order": 1}, {"name": "Contract Sent", "value": "CONTRACT_SENT", "win_probability": 50, "display_order": 1}], "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "pipelines", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.pipelinesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.notesAll: + "": + parameters: + query: + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "notes", "operation": "all", "data": [{"id": "12345", "title": "Meeting Notes", "content": "Office hours are 9AM-6PM", "owner_id": "12345", "contact_id": "12345", "company_id": "12345", "opportunity_id": "12345", "lead_id": "12345", "active": true, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "title": "Meeting Notes", "content": "Office hours are 9AM-6PM", "owner_id": "12345", "contact_id": "12345", "company_id": "12345", "opportunity_id": "12345", "lead_id": "12345", "active": true, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "title": "Meeting Notes", "content": "Office hours are 9AM-6PM", "owner_id": "12345", "contact_id": "12345", "company_id": "12345", "opportunity_id": "12345", "lead_id": "12345", "active": true, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.notesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"title": "Meeting Notes", "content": "Office hours are 9AM-6PM", "owner_id": "12345", "contact_id": "12345", "company_id": "12345", "opportunity_id": "12345", "lead_id": "12345", "active": true, "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "notes", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.notesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "notes", "operation": "one", "data": {"id": "12345", "title": "Meeting Notes", "content": "Office hours are 9AM-6PM", "owner_id": "12345", "contact_id": "12345", "company_id": "12345", "opportunity_id": "12345", "lead_id": "12345", "active": true, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.notesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"title": "Meeting Notes", "content": "Office hours are 9AM-6PM", "owner_id": "12345", "contact_id": "12345", "company_id": "12345", "opportunity_id": "12345", "lead_id": "12345", "active": true, "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "notes", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.notesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "notes", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.usersAll: + "": + parameters: + query: + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "users", "operation": "all", "data": [{"id": "12345", "parent_id": "54321", "username": "masterofcoin", "first_name": "Elon", "last_name": "Musk", "title": "CEO", "division": "Europe", "company_name": "SpaceX", "employee_number": "123456-AB", "description": "A description", "image": "https://logo.clearbit.com/spacex.com?s=128", "language": "EN", "status": "active", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [], "updated_at": "2017-08-12T20:43:21.291Z", "created_at": "2017-08-12T20:43:21.291Z", "pass_through": []}, {"id": "12345", "parent_id": "54321", "username": "masterofcoin", "first_name": "Elon", "last_name": "Musk", "title": "CEO", "division": "Europe", "company_name": "SpaceX", "employee_number": "123456-AB", "description": "A description", "image": "https://logo.clearbit.com/spacex.com?s=128", "language": "EN", "status": "active", "addresses": [], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "updated_at": "2017-08-12T20:43:21.291Z", "created_at": "2017-08-12T20:43:21.291Z", "pass_through": []}, {"id": "12345", "parent_id": "54321", "username": "masterofcoin", "first_name": "Elon", "last_name": "Musk", "title": "CEO", "division": "Europe", "company_name": "SpaceX", "employee_number": "123456-AB", "description": "A description", "image": "https://logo.clearbit.com/spacex.com?s=128", "language": "EN", "status": "active", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [], "emails": [], "updated_at": "2017-08-12T20:43:21.291Z", "created_at": "2017-08-12T20:43:21.291Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.usersAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"parent_id": "54321", "username": "masterofcoin", "first_name": "Elon", "last_name": "Musk", "title": "CEO", "division": "Europe", "company_name": "SpaceX", "employee_number": "123456-AB", "description": "A description", "image": "https://logo.clearbit.com/spacex.com?s=128", "language": "EN", "status": "active", "password": "supersecretpassword", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "pass_through": []} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "users", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.usersOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "one", "data": {"id": "12345", "parent_id": "54321", "username": "masterofcoin", "first_name": "Elon", "last_name": "Musk", "title": "CEO", "division": "Europe", "company_name": "SpaceX", "employee_number": "123456-AB", "description": "A description", "image": "https://logo.clearbit.com/spacex.com?s=128", "language": "EN", "status": "active", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "updated_at": "2017-08-12T20:43:21.291Z", "created_at": "2017-08-12T20:43:21.291Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.usersUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"parent_id": "54321", "username": "masterofcoin", "first_name": "Elon", "last_name": "Musk", "title": "CEO", "division": "Europe", "company_name": "SpaceX", "employee_number": "123456-AB", "description": "A description", "image": "https://logo.clearbit.com/spacex.com?s=128", "language": "EN", "status": "active", "password": "supersecretpassword", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.usersDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "users", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.activitiesAll: + "": + parameters: + query: + filter: {"updated_since": "2020-09-30T07:43:32.000Z"} + sort: {"by": "created_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "activities", "operation": "all", "data": [{"id": "12345", "downstream_id": "12345", "activity_datetime": "2021-05-01T12:00:00.000Z", "duration_seconds": 1800, "user_id": "12345", "account_id": "12345", "contact_id": "12345", "company_id": "12345", "opportunity_id": "12345", "lead_id": "12345", "owner_id": "12345", "campaign_id": "12345", "case_id": "12345", "asset_id": "12345", "contract_id": "12345", "product_id": "12345", "solution_id": "12345", "custom_object_id": "12345", "type": "meeting", "title": "Meeting", "description": "More info about the meeting", "note": "An internal note about the meeting", "location": "Space", "location_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "all_day_event": false, "private": true, "group_event": true, "event_sub_type": "debrief", "group_event_type": "Proposed", "child": false, "archived": false, "deleted": false, "show_as": "busy", "done": false, "start_datetime": "2021-05-01T12:00:00.000Z", "end_datetime": "2021-05-01T12:30:00.000Z", "duration_minutes": 30, "activity_date": "2021-05-01", "end_date": "2021-05-01", "recurrent": false, "reminder_datetime": "2021-05-01T17:00:00.000Z", "reminder_set": false, "video_conference_url": "https://us02web.zoom.us/j/88120759396", "video_conference_id": "zoom:88120759396", "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}], "attendees": [], "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "downstream_id": "12345", "activity_datetime": "2021-05-01T12:00:00.000Z", "duration_seconds": 1800, "user_id": "12345", "account_id": "12345", "contact_id": "12345", "company_id": "12345", "opportunity_id": "12345", "lead_id": "12345", "owner_id": "12345", "campaign_id": "12345", "case_id": "12345", "asset_id": "12345", "contract_id": "12345", "product_id": "12345", "solution_id": "12345", "custom_object_id": "12345", "type": "meeting", "title": "Meeting", "description": "More info about the meeting", "note": "An internal note about the meeting", "location": "Space", "location_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "all_day_event": false, "private": true, "group_event": true, "event_sub_type": "debrief", "group_event_type": "Proposed", "child": false, "archived": false, "deleted": false, "show_as": "busy", "done": false, "start_datetime": "2021-05-01T12:00:00.000Z", "end_datetime": "2021-05-01T12:30:00.000Z", "duration_minutes": 30, "activity_date": "2021-05-01", "end_date": "2021-05-01", "recurrent": false, "reminder_datetime": "2021-05-01T17:00:00.000Z", "reminder_set": false, "video_conference_url": "https://us02web.zoom.us/j/88120759396", "video_conference_id": "zoom:88120759396", "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "attendees": [{"id": "12345", "name": "Elon Musk", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "prefix": "Mr.", "suffix": "PhD", "email_address": "elon@musk.com", "is_organizer": true, "status": "accepted", "user_id": "12345", "contact_id": "12345", "updated_at": "2017-08-12T20:43:21.291Z", "created_at": "2017-08-12T20:43:21.291Z"}, {"id": "12345", "name": "Elon Musk", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "prefix": "Mr.", "suffix": "PhD", "email_address": "elon@musk.com", "is_organizer": true, "status": "accepted", "user_id": "12345", "contact_id": "12345", "updated_at": "2017-08-12T20:43:21.291Z", "created_at": "2017-08-12T20:43:21.291Z"}], "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "downstream_id": "12345", "activity_datetime": "2021-05-01T12:00:00.000Z", "duration_seconds": 1800, "user_id": "12345", "account_id": "12345", "contact_id": "12345", "company_id": "12345", "opportunity_id": "12345", "lead_id": "12345", "owner_id": "12345", "campaign_id": "12345", "case_id": "12345", "asset_id": "12345", "contract_id": "12345", "product_id": "12345", "solution_id": "12345", "custom_object_id": "12345", "type": "meeting", "title": "Meeting", "description": "More info about the meeting", "note": "An internal note about the meeting", "location": "Space", "location_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "all_day_event": false, "private": true, "group_event": true, "event_sub_type": "debrief", "group_event_type": "Proposed", "child": false, "archived": false, "deleted": false, "show_as": "busy", "done": false, "start_datetime": "2021-05-01T12:00:00.000Z", "end_datetime": "2021-05-01T12:30:00.000Z", "duration_minutes": 30, "activity_date": "2021-05-01", "end_date": "2021-05-01", "recurrent": false, "reminder_datetime": "2021-05-01T17:00:00.000Z", "reminder_set": false, "video_conference_url": "https://us02web.zoom.us/j/88120759396", "video_conference_id": "zoom:88120759396", "custom_fields": [], "attendees": [{"id": "12345", "name": "Elon Musk", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "prefix": "Mr.", "suffix": "PhD", "email_address": "elon@musk.com", "is_organizer": true, "status": "accepted", "user_id": "12345", "contact_id": "12345", "updated_at": "2017-08-12T20:43:21.291Z", "created_at": "2017-08-12T20:43:21.291Z"}], "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.activitiesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"activity_datetime": "2021-05-01T12:00:00.000Z", "duration_seconds": 1800, "user_id": "12345", "account_id": "12345", "contact_id": "12345", "company_id": "12345", "opportunity_id": "12345", "lead_id": "12345", "owner_id": "12345", "campaign_id": "12345", "case_id": "12345", "asset_id": "12345", "contract_id": "12345", "product_id": "12345", "solution_id": "12345", "custom_object_id": "12345", "type": "meeting", "title": "Meeting", "description": "More info about the meeting", "note": "An internal note about the meeting", "location": "Space", "location_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "all_day_event": false, "private": true, "group_event": true, "event_sub_type": "debrief", "group_event_type": "Proposed", "child": false, "archived": false, "deleted": false, "show_as": "busy", "done": false, "start_datetime": "2021-05-01T12:00:00.000Z", "end_datetime": "2021-05-01T12:30:00.000Z", "activity_date": "2021-05-01", "end_date": "2021-05-01", "recurrent": false, "reminder_datetime": "2021-05-01T17:00:00.000Z", "reminder_set": false, "video_conference_url": "https://us02web.zoom.us/j/88120759396", "video_conference_id": "zoom:88120759396", "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "attendees": [{"name": "Elon Musk", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "prefix": "Mr.", "suffix": "PhD", "email_address": "elon@musk.com", "is_organizer": true, "status": "accepted"}], "pass_through": []} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "activities", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.activitiesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "activities", "operation": "one", "data": {"id": "12345", "downstream_id": "12345", "activity_datetime": "2021-05-01T12:00:00.000Z", "duration_seconds": 1800, "user_id": "12345", "account_id": "12345", "contact_id": "12345", "company_id": "12345", "opportunity_id": "12345", "lead_id": "12345", "owner_id": "12345", "campaign_id": "12345", "case_id": "12345", "asset_id": "12345", "contract_id": "12345", "product_id": "12345", "solution_id": "12345", "custom_object_id": "12345", "type": "meeting", "title": "Meeting", "description": "More info about the meeting", "note": "An internal note about the meeting", "location": "Space", "location_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "all_day_event": false, "private": true, "group_event": true, "event_sub_type": "debrief", "group_event_type": "Proposed", "child": false, "archived": false, "deleted": false, "show_as": "busy", "done": false, "start_datetime": "2021-05-01T12:00:00.000Z", "end_datetime": "2021-05-01T12:30:00.000Z", "duration_minutes": 30, "activity_date": "2021-05-01", "end_date": "2021-05-01", "recurrent": false, "reminder_datetime": "2021-05-01T17:00:00.000Z", "reminder_set": false, "video_conference_url": "https://us02web.zoom.us/j/88120759396", "video_conference_id": "zoom:88120759396", "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "attendees": [{"id": "12345", "name": "Elon Musk", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "prefix": "Mr.", "suffix": "PhD", "email_address": "elon@musk.com", "is_organizer": true, "status": "accepted", "user_id": "12345", "contact_id": "12345", "updated_at": "2017-08-12T20:43:21.291Z", "created_at": "2017-08-12T20:43:21.291Z"}, {"id": "12345", "name": "Elon Musk", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "prefix": "Mr.", "suffix": "PhD", "email_address": "elon@musk.com", "is_organizer": true, "status": "accepted", "user_id": "12345", "contact_id": "12345", "updated_at": "2017-08-12T20:43:21.291Z", "created_at": "2017-08-12T20:43:21.291Z"}], "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.activitiesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"activity_datetime": "2021-05-01T12:00:00.000Z", "duration_seconds": 1800, "user_id": "12345", "account_id": "12345", "contact_id": "12345", "company_id": "12345", "opportunity_id": "12345", "lead_id": "12345", "owner_id": "12345", "campaign_id": "12345", "case_id": "12345", "asset_id": "12345", "contract_id": "12345", "product_id": "12345", "solution_id": "12345", "custom_object_id": "12345", "type": "meeting", "title": "Meeting", "description": "More info about the meeting", "note": "An internal note about the meeting", "location": "Space", "location_address": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, "all_day_event": false, "private": true, "group_event": true, "event_sub_type": "debrief", "group_event_type": "Proposed", "child": false, "archived": false, "deleted": false, "show_as": "busy", "done": false, "start_datetime": "2021-05-01T12:00:00.000Z", "end_datetime": "2021-05-01T12:30:00.000Z", "activity_date": "2021-05-01", "end_date": "2021-05-01", "recurrent": false, "reminder_datetime": "2021-05-01T17:00:00.000Z", "reminder_set": false, "video_conference_url": "https://us02web.zoom.us/j/88120759396", "video_conference_id": "zoom:88120759396", "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}], "attendees": [{"name": "Elon Musk", "first_name": "Elon", "middle_name": "D.", "last_name": "Musk", "prefix": "Mr.", "suffix": "PhD", "email_address": "elon@musk.com", "is_organizer": true, "status": "accepted"}], "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "activities", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + crm.activitiesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "activities", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ecommerce.ordersAll: + "": + parameters: + query: + filter: {"email": "elon@musk.com", "customer_id": "123", "updated_since": "2020-09-30T07:43:32.000Z", "created_since": "2020-09-30T07:43:32.000Z"} + sort: {"by": "created_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "shopify", "resource": "orders", "operation": "all", "data": [{"id": "12345", "order_number": "123456789", "currency": "USD", "discounts": [{"code": "SUMMER20", "amount": "5.99", "percentage": "0.1"}, {"code": "SUMMER20", "amount": "5.99", "percentage": "0.1"}], "sub_total": "45.17", "shipping_cost": "5.17", "coupon_discount": "5.5", "total_discount": "5.5", "total_tax": "5.16", "total_amount": "50.17", "refunded_amount": "5.5", "status": "active", "payment_status": "paid", "fulfillment_status": "shipped", "payment_method": "credit_card", "customer": {"id": "12345", "name": "John Doe", "first_name": "John", "last_name": "Doe", "company_name": "Acme Inc.", "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": []}, "billing_address": {"line1": "123 Main Street", "line2": "Apt 1", "company_name": "Acme Inc.", "city": "New York", "state": "NY", "postal_code": "10001", "country": "US"}, "shipping_address": {"line1": "123 Main Street", "line2": "Apt 1", "company_name": "Acme Inc.", "city": "New York", "state": "NY", "postal_code": "10001", "country": "US"}, "tracking": [], "line_items": [], "note": "Special instructions for delivery", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "order_number": "123456789", "currency": "USD", "discounts": [{"code": "SUMMER20", "amount": "5.99", "percentage": "0.1"}, {"code": "SUMMER20", "amount": "5.99", "percentage": "0.1"}], "sub_total": "45.17", "shipping_cost": "5.17", "coupon_discount": "5.5", "total_discount": "5.5", "total_tax": "5.16", "total_amount": "50.17", "refunded_amount": "5.5", "status": "active", "payment_status": "paid", "fulfillment_status": "shipped", "payment_method": "credit_card", "customer": {"id": "12345", "name": "John Doe", "first_name": "John", "last_name": "Doe", "company_name": "Acme Inc.", "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": []}, "billing_address": {"line1": "123 Main Street", "line2": "Apt 1", "company_name": "Acme Inc.", "city": "New York", "state": "NY", "postal_code": "10001", "country": "US"}, "shipping_address": {"line1": "123 Main Street", "line2": "Apt 1", "company_name": "Acme Inc.", "city": "New York", "state": "NY", "postal_code": "10001", "country": "US"}, "tracking": [{"provider": "UPS", "number": "1Z9999999999999999", "url": "https://www.ups.com/track?tracknum=1Z9999999999999999", "updated_at": "2020-09-30T07:43:32.000Z"}, {"provider": "UPS", "number": "1Z9999999999999999", "url": "https://www.ups.com/track?tracknum=1Z9999999999999999", "updated_at": "2020-09-30T07:43:32.000Z"}], "line_items": [], "note": "Special instructions for delivery", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "order_number": "123456789", "currency": "USD", "discounts": [], "sub_total": "45.17", "shipping_cost": "5.17", "coupon_discount": "5.5", "total_discount": "5.5", "total_tax": "5.16", "total_amount": "50.17", "refunded_amount": "5.5", "status": "active", "payment_status": "paid", "fulfillment_status": "shipped", "payment_method": "credit_card", "customer": {"id": "12345", "name": "John Doe", "first_name": "John", "last_name": "Doe", "company_name": "Acme Inc.", "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}]}, "billing_address": {"line1": "123 Main Street", "line2": "Apt 1", "company_name": "Acme Inc.", "city": "New York", "state": "NY", "postal_code": "10001", "country": "US"}, "shipping_address": {"line1": "123 Main Street", "line2": "Apt 1", "company_name": "Acme Inc.", "city": "New York", "state": "NY", "postal_code": "10001", "country": "US"}, "tracking": [{"provider": "UPS", "number": "1Z9999999999999999", "url": "https://www.ups.com/track?tracknum=1Z9999999999999999", "updated_at": "2020-09-30T07:43:32.000Z"}, {"provider": "UPS", "number": "1Z9999999999999999", "url": "https://www.ups.com/track?tracknum=1Z9999999999999999", "updated_at": "2020-09-30T07:43:32.000Z"}], "line_items": [], "note": "Special instructions for delivery", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ecommerce.ordersOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "shopify", "resource": "orders", "operation": "one", "data": {"id": "12345", "order_number": "123456789", "currency": "USD", "discounts": [{"code": "SUMMER20", "amount": "5.99", "percentage": "0.1"}, {"code": "SUMMER20", "amount": "5.99", "percentage": "0.1"}], "sub_total": "45.17", "shipping_cost": "5.17", "coupon_discount": "5.5", "total_discount": "5.5", "total_tax": "5.16", "total_amount": "50.17", "refunded_amount": "5.5", "status": "active", "payment_status": "paid", "fulfillment_status": "shipped", "payment_method": "credit_card", "customer": {"id": "12345", "name": "John Doe", "first_name": "John", "last_name": "Doe", "company_name": "Acme Inc.", "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}]}, "billing_address": {"line1": "123 Main Street", "line2": "Apt 1", "company_name": "Acme Inc.", "city": "New York", "state": "NY", "postal_code": "10001", "country": "US"}, "shipping_address": {"line1": "123 Main Street", "line2": "Apt 1", "company_name": "Acme Inc.", "city": "New York", "state": "NY", "postal_code": "10001", "country": "US"}, "tracking": [{"provider": "UPS", "number": "1Z9999999999999999", "url": "https://www.ups.com/track?tracknum=1Z9999999999999999", "updated_at": "2020-09-30T07:43:32.000Z"}, {"provider": "UPS", "number": "1Z9999999999999999", "url": "https://www.ups.com/track?tracknum=1Z9999999999999999", "updated_at": "2020-09-30T07:43:32.000Z"}], "line_items": [{"id": "12345", "product_id": "def456", "variant_id": "ghi789", "sku": "MBP123-16GB-SILVER-13", "name": "Midnight 16inch MacBook Pro", "description": "Powerful and portable, the MacBook Pro is perfect for professionals and creatives.", "options": [{"id": "jkl012", "name": "Color", "value": "Silver"}], "quantity": "2", "unit_price": "19.99", "tax_rate": "0.08", "tax_amount": "1.6", "is_refunded": false, "refunded_amount": "0", "refunded_quantity": "0", "sub_total": "43.18", "total_amount": "43.18", "discounts": [{"code": "SUMMER20", "amount": "5.99", "percentage": "0.1"}]}, {"id": "12345", "product_id": "def456", "variant_id": "ghi789", "sku": "MBP123-16GB-SILVER-13", "name": "Midnight 16inch MacBook Pro", "description": "Powerful and portable, the MacBook Pro is perfect for professionals and creatives.", "options": [{"id": "jkl012", "name": "Color", "value": "Silver"}], "quantity": "2", "unit_price": "19.99", "tax_rate": "0.08", "tax_amount": "1.6", "is_refunded": false, "refunded_amount": "0", "refunded_quantity": "0", "sub_total": "43.18", "total_amount": "43.18", "discounts": []}, {"id": "12345", "product_id": "def456", "variant_id": "ghi789", "sku": "MBP123-16GB-SILVER-13", "name": "Midnight 16inch MacBook Pro", "description": "Powerful and portable, the MacBook Pro is perfect for professionals and creatives.", "options": [{"id": "jkl012", "name": "Color", "value": "Silver"}, {"id": "jkl012", "name": "Color", "value": "Silver"}, {"id": "jkl012", "name": "Color", "value": "Silver"}], "quantity": "2", "unit_price": "19.99", "tax_rate": "0.08", "tax_amount": "1.6", "is_refunded": false, "refunded_amount": "0", "refunded_quantity": "0", "sub_total": "43.18", "total_amount": "43.18", "discounts": [{"code": "SUMMER20", "amount": "5.99", "percentage": "0.1"}]}], "note": "Special instructions for delivery", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ecommerce.productsAll: + "": + parameters: + query: + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "shopify", "resource": "products", "operation": "all", "data": [{"id": "12345", "name": "MacBook Pro", "description": "Powerful and portable, the MacBook Pro is perfect for professionals and creatives.", "status": "active", "price": "1999.99", "sku": "MBP123", "inventory_quantity": "10", "images": [{"id": "12345", "url": "https://example.com/macbook-pro.jpg"}, {"id": "12345", "url": "https://example.com/macbook-pro.jpg"}], "weight": "1.25", "weight_unit": "lb", "options": [{"id": "1", "name": "Color", "values": ["Red"]}, {"id": "1", "name": "Color", "values": ["Red"]}], "variants": [], "tags": ["Apple"], "categories": [], "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "name": "MacBook Pro", "description": "Powerful and portable, the MacBook Pro is perfect for professionals and creatives.", "status": "active", "price": "1999.99", "sku": "MBP123", "inventory_quantity": "10", "images": [], "weight": "1.25", "weight_unit": "lb", "options": [{"id": "1", "name": "Color", "values": ["Red"]}, {"id": "1", "name": "Color", "values": ["Red"]}], "variants": [{"id": "1", "name": "Midnight 16inch MacBook Pro", "price": "1999.99", "sku": "MBP123-16GB-SILVER-13", "inventory_quantity": "5", "weight": "1.25", "weight_unit": "lb", "options": [], "images": [{"id": "12345", "url": "https://example.com/macbook-pro.jpg"}, {"id": "12345", "url": "https://example.com/macbook-pro.jpg"}]}, {"id": "1", "name": "Midnight 16inch MacBook Pro", "price": "1999.99", "sku": "MBP123-16GB-SILVER-13", "inventory_quantity": "5", "weight": "1.25", "weight_unit": "lb", "options": [], "images": []}], "tags": ["Apple"], "categories": [{"id": "12345", "name": "Laptops"}, {"id": "12345", "name": "Laptops"}], "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "name": "MacBook Pro", "description": "Powerful and portable, the MacBook Pro is perfect for professionals and creatives.", "status": "active", "price": "1999.99", "sku": "MBP123", "inventory_quantity": "10", "images": [{"id": "12345", "url": "https://example.com/macbook-pro.jpg"}, {"id": "12345", "url": "https://example.com/macbook-pro.jpg"}], "weight": "1.25", "weight_unit": "lb", "options": [{"id": "1", "name": "Color", "values": ["Red"]}, {"id": "1", "name": "Color", "values": ["Red"]}], "variants": [], "tags": ["Apple"], "categories": [], "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ecommerce.productsOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "shopify", "resource": "products", "operation": "one", "data": {"id": "12345", "name": "MacBook Pro", "description": "Powerful and portable, the MacBook Pro is perfect for professionals and creatives.", "status": "active", "price": "1999.99", "sku": "MBP123", "inventory_quantity": "10", "images": [{"id": "12345", "url": "https://example.com/macbook-pro.jpg"}, {"id": "12345", "url": "https://example.com/macbook-pro.jpg"}], "weight": "1.25", "weight_unit": "lb", "options": [{"id": "1", "name": "Color", "values": ["Red"]}, {"id": "1", "name": "Color", "values": ["Red"]}], "variants": [{"id": "1", "name": "Midnight 16inch MacBook Pro", "price": "1999.99", "sku": "MBP123-16GB-SILVER-13", "inventory_quantity": "5", "weight": "1.25", "weight_unit": "lb", "options": [{"id": "1", "name": "Color", "value": "Silver"}, {"id": "1", "name": "Color", "value": "Silver"}], "images": [{"id": "12345", "url": "https://example.com/macbook-pro.jpg"}, {"id": "12345", "url": "https://example.com/macbook-pro.jpg"}, {"id": "12345", "url": "https://example.com/macbook-pro.jpg"}]}, {"id": "1", "name": "Midnight 16inch MacBook Pro", "price": "1999.99", "sku": "MBP123-16GB-SILVER-13", "inventory_quantity": "5", "weight": "1.25", "weight_unit": "lb", "options": [{"id": "1", "name": "Color", "value": "Silver"}], "images": [{"id": "12345", "url": "https://example.com/macbook-pro.jpg"}]}], "tags": ["Apple"], "categories": [{"id": "12345", "name": "Laptops"}], "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ecommerce.customersAll: + "": + parameters: + query: + filter: {"email": "elon@musk.com", "phone_number": "111-111-1111"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "shopify", "resource": "customers", "operation": "all", "data": [{"id": "12345", "name": "John Doe", "first_name": "John", "last_name": "Doe", "company_name": "Acme Inc.", "status": "active", "currency": "USD", "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "addresses": [], "orders": [], "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "name": "John Doe", "first_name": "John", "last_name": "Doe", "company_name": "Acme Inc.", "status": "active", "currency": "USD", "emails": [], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "addresses": [{"type": "billing", "id": "12345", "line1": "Main street", "line2": "apt #", "city": "Anytown", "state": "Ohio", "postal_code": "12345", "country": "US"}, {"type": "billing", "id": "12345", "line1": "Main street", "line2": "apt #", "city": "Anytown", "state": "Ohio", "postal_code": "12345", "country": "US"}], "orders": [], "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "name": "John Doe", "first_name": "John", "last_name": "Doe", "company_name": "Acme Inc.", "status": "active", "currency": "USD", "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "phone_numbers": [], "addresses": [], "orders": [{"id": "12345", "total": "199.99", "status": "active"}, {"id": "12345", "total": "199.99", "status": "active"}], "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ecommerce.customersOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "shopify", "resource": "customers", "operation": "one", "data": {"id": "12345", "name": "John Doe", "first_name": "John", "last_name": "Doe", "company_name": "Acme Inc.", "status": "active", "currency": "USD", "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "addresses": [{"type": "billing", "id": "12345", "line1": "Main street", "line2": "apt #", "city": "Anytown", "state": "Ohio", "postal_code": "12345", "country": "US"}, {"type": "billing", "id": "12345", "line1": "Main street", "line2": "apt #", "city": "Anytown", "state": "Ohio", "postal_code": "12345", "country": "US"}], "orders": [{"id": "12345", "total": "199.99", "status": "active"}, {"id": "12345", "total": "199.99", "status": "active"}], "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + ecommerce.storesOne: + "": + parameters: + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "shopify", "resource": "stores", "operation": "one", "data": {"id": "12345", "name": "My Store", "store_url": "https://mybrand.com/shop", "admin_url": "https://mybrand.com/admin", "created_at": "2020-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.filesAll: + "": + parameters: + query: + filter: {"drive_id": "1234", "folder_id": "root", "shared": true} + sort: {"by": "updated_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "files", "operation": "all", "data": [{"id": "12345", "downstream_id": "12345", "name": "sample.jpg", "description": "A sample image", "type": "file", "path": "/Documents/sample.jpg", "mime_type": "image/jpeg", "size": 1810673, "owner": {"id": "12345", "email": "hello@apideck.com", "name": "Elon Musk"}, "parent_folders": [{"id": "12345", "name": "Personal"}, {"id": "12345", "name": "Personal"}], "export_formats": ["application/pdf", "application/vnd.oasis.opendocument.presentation", "text/plain"], "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "downstream_id": "12345", "name": "sample.jpg", "description": "A sample image", "type": "file", "path": "/Documents/sample.jpg", "mime_type": "image/jpeg", "size": 1810673, "owner": {"id": "12345", "email": "hello@apideck.com", "name": "Elon Musk"}, "parent_folders": [{"id": "12345", "name": "Personal"}, {"id": "12345", "name": "Personal"}], "export_formats": ["application/pdf", "application/vnd.oasis.opendocument.presentation", "text/plain"], "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "downstream_id": "12345", "name": "sample.jpg", "description": "A sample image", "type": "file", "path": "/Documents/sample.jpg", "mime_type": "image/jpeg", "size": 1810673, "owner": {"id": "12345", "email": "hello@apideck.com", "name": "Elon Musk"}, "parent_folders": [], "export_formats": ["application/pdf", "application/vnd.oasis.opendocument.presentation", "text/plain"], "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.filesSearch: + "": + parameters: + query: + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + filter: {"drive_id": "1234", "folder_id": "root", "shared": true} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"query": "logo jpg"} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "files", "operation": "all", "data": [{"id": "12345", "downstream_id": "12345", "name": "sample.jpg", "description": "A sample image", "type": "file", "path": "/Documents/sample.jpg", "mime_type": "image/jpeg", "size": 1810673, "owner": {"id": "12345", "email": "hello@apideck.com", "name": "Elon Musk"}, "parent_folders": [{"id": "12345", "name": "Personal"}], "export_formats": ["application/pdf", "application/vnd.oasis.opendocument.presentation", "text/plain"], "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.filesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "files", "operation": "one", "data": {"id": "12345", "downstream_id": "12345", "name": "sample.jpg", "description": "A sample image", "type": "file", "path": "/Documents/sample.jpg", "mime_type": "image/jpeg", "size": 1810673, "owner": {"id": "12345", "email": "hello@apideck.com", "name": "Elon Musk"}, "parent_folders": [{"id": "12345", "name": "Personal"}, {"id": "12345", "name": "Personal"}], "export_formats": ["application/pdf", "application/vnd.oasis.opendocument.presentation", "text/plain"], "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.filesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "New Name.pdf", "description": "Renamed PDF Document", "parent_folder_id": "1234", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "files", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.filesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "files", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.filesDownload: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + '*/*': "0xa2c2FEfB3c" + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.filesExport: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + format: "pdf" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + '*/*': "0xBE6E4C8D3f" + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.foldersAdd: + "": + parameters: + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "Documents", "description": "My Personal Documents", "parent_folder_id": "1234", "drive_id": "1234", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "undefined", "resource": "Folders", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.foldersOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "undefined", "resource": "Folders", "operation": "one", "data": {"id": "12345", "name": "Documents", "description": "My Personal Documents", "path": "/Personal/Documents", "size": 1810673, "owner": {"id": "12345", "email": "hello@apideck.com", "name": "Elon Musk"}, "parent_folders": [{"id": "12345", "name": "Personal"}, {"id": "12345", "name": "Personal"}], "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.foldersUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "Documents", "description": "My Personal Documents", "parent_folder_id": "1234", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "undefined", "resource": "Folders", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.foldersDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "undefined", "resource": "Folders", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.foldersCopy: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "Documents", "parent_folder_id": "1234", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "undefined", "resource": "Folders", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.sharedLinksAll: + "": + parameters: + query: + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "dropbox", "resource": "Shared Links", "operation": "all", "data": [{"url": "https://www.box.com/s/vspke7y05sb214wjokpk", "download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg", "target": {"id": "12345", "name": "sample.jpg", "type": "file"}, "scope": "company", "expires_at": "2022-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"url": "https://www.box.com/s/vspke7y05sb214wjokpk", "download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg", "target": {"id": "12345", "name": "sample.jpg", "type": "file"}, "scope": "company", "expires_at": "2022-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"url": "https://www.box.com/s/vspke7y05sb214wjokpk", "download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg", "target": {"id": "12345", "name": "sample.jpg", "type": "file"}, "scope": "company", "expires_at": "2022-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.sharedLinksAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg", "target_id": "", "scope": "company", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "dropbox", "resource": "Shared Links", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.sharedLinksOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "dropbox", "resource": "Shared Links", "operation": "one", "data": {"url": "https://www.box.com/s/vspke7y05sb214wjokpk", "download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg", "target": {"id": "12345", "name": "sample.jpg", "type": "file"}, "scope": "company", "expires_at": "2022-09-30T07:43:32.000Z", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.sharedLinksUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg", "target_id": "", "scope": "company", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "dropbox", "resource": "Shared Links", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.sharedLinksDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "dropbox", "resource": "Shared Links", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.uploadSessionsAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "Documents", "parent_folder_id": "1234", "drive_id": "1234", "size": 1810673, "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "dropbox", "resource": "UploadSessions", "operation": "one", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.uploadSessionsOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "dropbox", "resource": "UploadSessions", "operation": "one", "data": {"id": "12345", "success": true, "part_size": 1000000, "parallel_upload_supported": true, "uploaded_byte_range": "0-42", "expires_at": "2022-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.uploadSessionsDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "dropbox", "resource": "UploadSessions", "operation": "one", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.uploadSessionsFinish: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + digest: "sha=fpRyg5eVQletdZqEKaFlqwBXJzM=" + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "files", "operation": "one", "data": {"id": "12345", "downstream_id": "12345", "name": "sample.jpg", "description": "A sample image", "type": "file", "path": "/Documents/sample.jpg", "mime_type": "image/jpeg", "size": 1810673, "owner": {"id": "12345", "email": "hello@apideck.com", "name": "Elon Musk"}, "parent_folders": [{"id": "12345", "name": "Personal"}, {"id": "12345", "name": "Personal"}, {"id": "12345", "name": "Personal"}], "export_formats": ["application/pdf", "application/vnd.oasis.opendocument.presentation", "text/plain"], "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.drivesAll: + "": + parameters: + query: + filter: {"group_id": "1234"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "Drives", "operation": "all", "data": [{"id": "12345", "name": "Project Resources", "description": "A description", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "name": "Project Resources", "description": "A description", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "name": "Project Resources", "description": "A description", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.drivesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "Project Resources", "description": "A description", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "Drives", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.drivesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "Drives", "operation": "one", "data": {"id": "12345", "name": "Project Resources", "description": "A description", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.drivesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "Project Resources", "description": "A description", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "Drives", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.drivesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "Drives", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.driveGroupsAll: + "": + parameters: + query: + filter: {"parent_group_id": "1234"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "DriveGroups", "operation": "all", "data": [{"id": "12345", "name": "accounting", "display_name": "accounting", "description": "A description", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "name": "accounting", "display_name": "accounting", "description": "A description", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "name": "accounting", "display_name": "accounting", "description": "A description", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.driveGroupsAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "accounting", "display_name": "accounting", "description": "A description", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "DriveGroups", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.driveGroupsOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "DriveGroups", "operation": "one", "data": {"id": "12345", "name": "accounting", "display_name": "accounting", "description": "A description", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.driveGroupsUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "accounting", "display_name": "accounting", "description": "A description", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "DriveGroups", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + fileStorage.driveGroupsDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "google-drive", "resource": "DriveGroups", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.employeesAll: + "": + parameters: + query: + filter: {"company_id": "1234", "email": "elon@tesla.com", "first_name": "Elon", "title": "Manager", "last_name": "Musk", "manager_id": "1234", "employment_status": "active", "employee_number": "123456-AB", "department_id": "1234"} + sort: {"by": "created_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "sage-hr", "resource": "Employees", "operation": "all", "data": [{"id": "12345", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "display_name": "Technoking", "preferred_name": "Elon Musk", "initials": "EM", "salutation": "Mr", "title": "CEO", "marital_status": "married", "partner": {"id": "12345", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "gender": "male", "initials": "EM", "birthday": "2000-08-12", "deceased_on": "2000-08-12"}, "division": "Europe", "division_id": "12345", "department_id": "12345", "department_name": "12345", "team": {"id": "1234", "name": "Full Stack Engineers"}, "company_id": "23456", "company_name": "SpaceX", "employment_start_date": "2021-10-26", "employment_end_date": "2028-10-26", "leaving_reason": "resigned", "employee_number": "123456-AB", "employment_status": "active", "ethnicity": "African American", "manager": {"id": "12345", "name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "email": "elon@musk.com", "employment_status": "active"}, "direct_reports": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "social_security_number": "123456789", "birthday": "2000-08-12", "deceased_on": "2000-08-12", "country_of_birth": "US", "description": "A description", "gender": "male", "pronouns": "she,her", "preferred_language": "EN", "languages": ["EN"], "nationalities": ["US"], "photo_url": "https://unavatar.io/elon-musk", "timezone": "Europe/London", "source": "lever", "source_id": "12345", "record_url": "https://app.intercom.io/contacts/12345", "jobs": [{"id": "12345", "employee_id": "12345", "title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, {"id": "12345", "employee_id": "12345", "title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}], "compensations": [{"id": "3404301363494309004", "job_id": "3490439050957906679", "rate": 50, "payment_unit": "hour", "flsa_status": "nonexempt", "effective_date": "2021-06-11"}], "works_remote": true, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [], "emails": [], "custom_fields": [], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "tax_code": "1111", "tax_id": "234-32-0000", "dietary_preference": "Veggie", "food_allergies": ["No allergies"], "probation_period": {"start_date": "2021-10-01", "end_date": "2021-11-28"}, "tags": ["New"], "row_version": "1-12345", "deleted": true, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "display_name": "Technoking", "preferred_name": "Elon Musk", "initials": "EM", "salutation": "Mr", "title": "CEO", "marital_status": "married", "partner": {"id": "12345", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "gender": "male", "initials": "EM", "birthday": "2000-08-12", "deceased_on": "2000-08-12"}, "division": "Europe", "division_id": "12345", "department_id": "12345", "department_name": "12345", "team": {"id": "1234", "name": "Full Stack Engineers"}, "company_id": "23456", "company_name": "SpaceX", "employment_start_date": "2021-10-26", "employment_end_date": "2028-10-26", "leaving_reason": "resigned", "employee_number": "123456-AB", "employment_status": "active", "ethnicity": "African American", "manager": {"id": "12345", "name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "email": "elon@musk.com", "employment_status": "active"}, "direct_reports": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "social_security_number": "123456789", "birthday": "2000-08-12", "deceased_on": "2000-08-12", "country_of_birth": "US", "description": "A description", "gender": "male", "pronouns": "she,her", "preferred_language": "EN", "languages": ["EN"], "nationalities": ["US"], "photo_url": "https://unavatar.io/elon-musk", "timezone": "Europe/London", "source": "lever", "source_id": "12345", "record_url": "https://app.intercom.io/contacts/12345", "jobs": [{"id": "12345", "employee_id": "12345", "title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, {"id": "12345", "employee_id": "12345", "title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}], "compensations": [{"id": "3404301363494309004", "job_id": "3490439050957906679", "rate": 50, "payment_unit": "hour", "flsa_status": "nonexempt", "effective_date": "2021-06-11"}], "works_remote": true, "addresses": [], "phone_numbers": [], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level"}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": "Uses Salesforce and Marketo"}], "social_links": [], "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "tax_code": "1111", "tax_id": "234-32-0000", "dietary_preference": "Veggie", "food_allergies": ["No allergies"], "probation_period": {"start_date": "2021-10-01", "end_date": "2021-11-28"}, "tags": ["New"], "row_version": "1-12345", "deleted": true, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}]}, {"id": "12345", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "display_name": "Technoking", "preferred_name": "Elon Musk", "initials": "EM", "salutation": "Mr", "title": "CEO", "marital_status": "married", "partner": {"id": "12345", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "gender": "male", "initials": "EM", "birthday": "2000-08-12", "deceased_on": "2000-08-12"}, "division": "Europe", "division_id": "12345", "department_id": "12345", "department_name": "12345", "team": {"id": "1234", "name": "Full Stack Engineers"}, "company_id": "23456", "company_name": "SpaceX", "employment_start_date": "2021-10-26", "employment_end_date": "2028-10-26", "leaving_reason": "resigned", "employee_number": "123456-AB", "employment_status": "active", "ethnicity": "African American", "manager": {"id": "12345", "name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "email": "elon@musk.com", "employment_status": "active"}, "direct_reports": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "social_security_number": "123456789", "birthday": "2000-08-12", "deceased_on": "2000-08-12", "country_of_birth": "US", "description": "A description", "gender": "male", "pronouns": "she,her", "preferred_language": "EN", "languages": ["EN"], "nationalities": ["US"], "photo_url": "https://unavatar.io/elon-musk", "timezone": "Europe/London", "source": "lever", "source_id": "12345", "record_url": "https://app.intercom.io/contacts/12345", "jobs": [{"id": "12345", "employee_id": "12345", "title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, {"id": "12345", "employee_id": "12345", "title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, {"id": "12345", "employee_id": "12345", "title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}], "compensations": [{"id": "3404301363494309004", "job_id": "3490439050957906679", "rate": 50, "payment_unit": "hour", "flsa_status": "nonexempt", "effective_date": "2021-06-11"}], "works_remote": true, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "custom_fields": [], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "tax_code": "1111", "tax_id": "234-32-0000", "dietary_preference": "Veggie", "food_allergies": ["No allergies"], "probation_period": {"start_date": "2021-10-01", "end_date": "2021-11-28"}, "tags": ["New"], "row_version": "1-12345", "deleted": true, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.employeesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"id": "12345", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "display_name": "Technoking", "preferred_name": "Elon Musk", "initials": "EM", "salutation": "Mr", "title": "CEO", "marital_status": "married", "partner": {"first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "gender": "male", "initials": "EM", "birthday": "2000-08-12", "deceased_on": "2000-08-12"}, "division": "Europe", "division_id": "12345", "department_id": "12345", "department_name": "12345", "team": {"id": "1234", "name": "Full Stack Engineers"}, "company_id": "23456", "company_name": "SpaceX", "employment_start_date": "2021-10-26", "employment_end_date": "2028-10-26", "leaving_reason": "resigned", "employee_number": "123456-AB", "employment_status": "active", "ethnicity": "African American", "manager": {"id": "12345", "name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "email": "elon@musk.com", "employment_status": "active"}, "direct_reports": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "social_security_number": "123456789", "birthday": "2000-08-12", "deceased_on": "2000-08-12", "country_of_birth": "US", "description": "A description", "gender": "male", "pronouns": "she,her", "preferred_language": "EN", "languages": ["EN"], "nationalities": ["US"], "photo_url": "https://unavatar.io/elon-musk", "timezone": "Europe/London", "source": "lever", "source_id": "12345", "record_url": "https://app.intercom.io/contacts/12345", "jobs": [{"title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}], "compensations": [{"rate": 50, "payment_unit": "hour", "flsa_status": "nonexempt", "effective_date": "2021-06-11"}], "works_remote": true, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [], "custom_fields": [], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "tax_code": "1111", "tax_id": "234-32-0000", "dietary_preference": "Veggie", "food_allergies": ["No allergies"], "probation_period": {"start_date": "2021-10-01", "end_date": "2021-11-28"}, "tags": ["New"], "row_version": "1-12345", "deleted": true, "pass_through": []} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "sage-hr", "resource": "Employees", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.employeesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + filter: {"company_id": "1234"} + pass_through: {"search": "San Francisco"} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "sage-hr", "resource": "Employees", "operation": "one", "data": {"id": "12345", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "display_name": "Technoking", "preferred_name": "Elon Musk", "initials": "EM", "salutation": "Mr", "title": "CEO", "marital_status": "married", "partner": {"id": "12345", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "gender": "male", "initials": "EM", "birthday": "2000-08-12", "deceased_on": "2000-08-12"}, "division": "Europe", "division_id": "12345", "department_id": "12345", "department_name": "12345", "team": {"id": "1234", "name": "Full Stack Engineers"}, "company_id": "23456", "company_name": "SpaceX", "employment_start_date": "2021-10-26", "employment_end_date": "2028-10-26", "leaving_reason": "resigned", "employee_number": "123456-AB", "employment_status": "active", "ethnicity": "African American", "manager": {"id": "12345", "name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "email": "elon@musk.com", "employment_status": "active"}, "direct_reports": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "social_security_number": "123456789", "birthday": "2000-08-12", "deceased_on": "2000-08-12", "country_of_birth": "US", "description": "A description", "gender": "male", "pronouns": "she,her", "preferred_language": "EN", "languages": ["EN"], "nationalities": ["US"], "photo_url": "https://unavatar.io/elon-musk", "timezone": "Europe/London", "source": "lever", "source_id": "12345", "record_url": "https://app.intercom.io/contacts/12345", "jobs": [{"id": "12345", "employee_id": "12345", "title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, {"id": "12345", "employee_id": "12345", "title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}], "compensations": [{"id": "3404301363494309004", "job_id": "3490439050957906679", "rate": 50, "payment_unit": "hour", "flsa_status": "nonexempt", "effective_date": "2021-06-11"}], "works_remote": true, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": 10}], "social_links": [], "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "tax_code": "1111", "tax_id": "234-32-0000", "dietary_preference": "Veggie", "food_allergies": ["No allergies"], "probation_period": {"start_date": "2021-10-01", "end_date": "2021-11-28"}, "tags": ["New"], "row_version": "1-12345", "deleted": true, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.employeesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"id": "12345", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "display_name": "Technoking", "preferred_name": "Elon Musk", "initials": "EM", "salutation": "Mr", "title": "CEO", "marital_status": "married", "partner": {"first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "gender": "male", "initials": "EM", "birthday": "2000-08-12", "deceased_on": "2000-08-12"}, "division": "Europe", "division_id": "12345", "department_id": "12345", "department_name": "12345", "team": {"id": "1234", "name": "Full Stack Engineers"}, "company_id": "23456", "company_name": "SpaceX", "employment_start_date": "2021-10-26", "employment_end_date": "2028-10-26", "leaving_reason": "resigned", "employee_number": "123456-AB", "employment_status": "active", "ethnicity": "African American", "manager": {"id": "12345", "name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "email": "elon@musk.com", "employment_status": "active"}, "direct_reports": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "social_security_number": "123456789", "birthday": "2000-08-12", "deceased_on": "2000-08-12", "country_of_birth": "US", "description": "A description", "gender": "male", "pronouns": "she,her", "preferred_language": "EN", "languages": ["EN"], "nationalities": ["US"], "photo_url": "https://unavatar.io/elon-musk", "timezone": "Europe/London", "source": "lever", "source_id": "12345", "record_url": "https://app.intercom.io/contacts/12345", "jobs": [{"title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, {"title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, {"title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}], "compensations": [{"rate": 50, "payment_unit": "hour", "flsa_status": "nonexempt", "effective_date": "2021-06-11"}], "works_remote": true, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "custom_fields": [{"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": true}, {"id": "2389328923893298", "name": "employee_level", "description": "Employee Level", "value": {}}], "social_links": [{"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}, {"id": "12345", "url": "https://www.twitter.com/apideck", "type": "twitter"}], "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "tax_code": "1111", "tax_id": "234-32-0000", "dietary_preference": "Veggie", "food_allergies": ["No allergies"], "probation_period": {"start_date": "2021-10-01", "end_date": "2021-11-28"}, "tags": ["New"], "row_version": "1-12345", "deleted": true, "pass_through": [{"service_id": "", "extend_paths": []}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "sage-hr", "resource": "Employees", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.employeesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "sage-hr", "resource": "Employees", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.companiesAll: + "": + parameters: + query: + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "undefined", "resource": "Companies", "operation": "all", "data": [{"id": "12345", "legal_name": "SpaceX", "display_name": "SpaceX", "subdomain": "company", "status": "active", "company_number": "123456-AB", "currency": "USD", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [], "websites": [], "debtor_id": "12345", "deleted": false, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "legal_name": "SpaceX", "display_name": "SpaceX", "subdomain": "company", "status": "active", "company_number": "123456-AB", "currency": "USD", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "debtor_id": "12345", "deleted": false, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "legal_name": "SpaceX", "display_name": "SpaceX", "subdomain": "company", "status": "active", "company_number": "123456-AB", "currency": "USD", "addresses": [], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "debtor_id": "12345", "deleted": false, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.companiesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"legal_name": "SpaceX", "display_name": "SpaceX", "subdomain": "company", "status": "active", "company_number": "123456-AB", "currency": "USD", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "websites": [], "debtor_id": "12345", "pass_through": []} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "undefined", "resource": "Companies", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.companiesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "undefined", "resource": "Companies", "operation": "one", "data": {"id": "12345", "legal_name": "SpaceX", "display_name": "SpaceX", "subdomain": "company", "status": "active", "company_number": "123456-AB", "currency": "USD", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}, {"id": "123", "email": "elon@musk.com", "type": "primary"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "debtor_id": "12345", "deleted": false, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.companiesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"legal_name": "SpaceX", "display_name": "SpaceX", "subdomain": "company", "status": "active", "company_number": "123456-AB", "currency": "USD", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "websites": [{"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}, {"id": "12345", "url": "http://example.com", "type": "primary"}], "debtor_id": "12345", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "undefined", "resource": "Companies", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.companiesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "undefined", "resource": "Companies", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.departmentsAll: + "": + parameters: + query: + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "workday", "resource": "Departments", "operation": "all", "data": [{"id": "12345", "parent_id": "22345", "name": "R&D", "code": "2", "description": "R&D", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "parent_id": "22345", "name": "R&D", "code": "2", "description": "R&D", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "parent_id": "22345", "name": "R&D", "code": "2", "description": "R&D", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.departmentsAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "R&D", "code": "2", "description": "R&D", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "workday", "resource": "Departments", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.departmentsOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "workday", "resource": "Departments", "operation": "one", "data": {"id": "12345", "parent_id": "22345", "name": "R&D", "code": "2", "description": "R&D", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.departmentsUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"name": "R&D", "code": "2", "description": "R&D", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "workday", "resource": "Departments", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.departmentsDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "workday", "resource": "Departments", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.payrollsAll: + "": + parameters: + query: + filter: {"start_date": "2022-04-08", "end_date": "2022-04-21"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "sage-hr", "resource": "Employees", "operation": "all", "data": [{"id": "12345", "company_id": "23456", "processed": false, "processed_date": "2022-04-08", "check_date": "2022-04-08", "start_date": "2022-04-08", "end_date": "2022-04-21", "totals": {"company_debit": 27992.49, "tax_debit": 8655.32, "check_amount": 27966.23, "net_pay": 19337.17, "gross_pay": 27966.23, "employer_taxes": 2038.93, "employee_taxes": 6616.39, "employer_benefit_contributions": 0, "employee_benefit_deductions": 0}, "compensations": [{"employee_id": "12345", "net_pay": 2199.93, "gross_pay": 3000, "taxes": [{"name": "CA State Income Tax", "employer": false, "amount": 1.97}, {"name": "CA State Income Tax", "employer": false, "amount": 1.97}], "deductions": [], "benefits": []}, {"employee_id": "12345", "net_pay": 2199.93, "gross_pay": 3000, "taxes": [], "deductions": [{"name": "Company Car", "amount": 10.97}, {"name": "Company Car", "amount": 10.97}], "benefits": [{"name": "Health Insurance", "employee_deduction": 142.94, "employer_contribution": 141.14}, {"name": "Health Insurance", "employee_deduction": 142.94, "employer_contribution": 141.14}]}]}, {"id": "12345", "company_id": "23456", "processed": false, "processed_date": "2022-04-08", "check_date": "2022-04-08", "start_date": "2022-04-08", "end_date": "2022-04-21", "totals": {"company_debit": 27992.49, "tax_debit": 8655.32, "check_amount": 27966.23, "net_pay": 19337.17, "gross_pay": 27966.23, "employer_taxes": 2038.93, "employee_taxes": 6616.39, "employer_benefit_contributions": 0, "employee_benefit_deductions": 0}, "compensations": []}, {"id": "12345", "company_id": "23456", "processed": false, "processed_date": "2022-04-08", "check_date": "2022-04-08", "start_date": "2022-04-08", "end_date": "2022-04-21", "totals": {"company_debit": 27992.49, "tax_debit": 8655.32, "check_amount": 27966.23, "net_pay": 19337.17, "gross_pay": 27966.23, "employer_taxes": 2038.93, "employee_taxes": 6616.39, "employer_benefit_contributions": 0, "employee_benefit_deductions": 0}, "compensations": [{"employee_id": "12345", "net_pay": 2199.93, "gross_pay": 3000, "taxes": [], "deductions": [], "benefits": [{"name": "Health Insurance", "employee_deduction": 142.94, "employer_contribution": 141.14}, {"name": "Health Insurance", "employee_deduction": 142.94, "employer_contribution": 141.14}]}, {"employee_id": "12345", "net_pay": 2199.93, "gross_pay": 3000, "taxes": [{"name": "CA State Income Tax", "employer": false, "amount": 1.97}, {"name": "CA State Income Tax", "employer": false, "amount": 1.97}], "deductions": [{"name": "Company Car", "amount": 10.97}, {"name": "Company Car", "amount": 10.97}], "benefits": []}]}]} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.payrollsOne: + "": + parameters: + path: + payroll_id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "undefined", "resource": "Companies", "operation": "one", "data": {"id": "12345", "company_id": "23456", "processed": false, "processed_date": "2022-04-08", "check_date": "2022-04-08", "start_date": "2022-04-08", "end_date": "2022-04-21", "totals": {"company_debit": 27992.49, "tax_debit": 8655.32, "check_amount": 27966.23, "net_pay": 19337.17, "gross_pay": 27966.23, "employer_taxes": 2038.93, "employee_taxes": 6616.39, "employer_benefit_contributions": 0, "employee_benefit_deductions": 0}, "compensations": [{"employee_id": "12345", "net_pay": 2199.93, "gross_pay": 3000, "taxes": [{"name": "CA State Income Tax", "employer": false, "amount": 1.97}, {"name": "CA State Income Tax", "employer": false, "amount": 1.97}], "deductions": [{"name": "Company Car", "amount": 10.97}, {"name": "Company Car", "amount": 10.97}], "benefits": [{"name": "Health Insurance", "employee_deduction": 142.94, "employer_contribution": 141.14}, {"name": "Health Insurance", "employee_deduction": 142.94, "employer_contribution": 141.14}]}, {"employee_id": "12345", "net_pay": 2199.93, "gross_pay": 3000, "taxes": [{"name": "CA State Income Tax", "employer": false, "amount": 1.97}, {"name": "CA State Income Tax", "employer": false, "amount": 1.97}, {"name": "CA State Income Tax", "employer": false, "amount": 1.97}], "deductions": [{"name": "Company Car", "amount": 10.97}], "benefits": [{"name": "Health Insurance", "employee_deduction": 142.94, "employer_contribution": 141.14}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.employeePayrollsAll: + "": + parameters: + path: + employee_id: "" + query: + filter: {"start_date": "2022-04-08", "end_date": "2022-04-21"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "sage-hr", "resource": "Employees", "operation": "all", "data": [{"id": "12345", "employee_id": "12345", "company_id": "23456", "processed": false, "processed_date": "2022-04-08", "check_date": "2022-04-08", "start_date": "2022-04-08", "end_date": "2022-04-21", "totals": {"company_debit": 27992.49, "tax_debit": 8655.32, "check_amount": 27966.23, "net_pay": 19337.17, "gross_pay": 27966.23, "employer_taxes": 2038.93, "employee_taxes": 6616.39, "employer_benefit_contributions": 0, "employee_benefit_deductions": 0}, "compensations": [{"employee_id": "12345", "net_pay": 2199.93, "gross_pay": 3000, "taxes": [{"name": "CA State Income Tax", "employer": false, "amount": 1.97}, {"name": "CA State Income Tax", "employer": false, "amount": 1.97}], "deductions": [], "benefits": []}, {"employee_id": "12345", "net_pay": 2199.93, "gross_pay": 3000, "taxes": [], "deductions": [{"name": "Company Car", "amount": 10.97}, {"name": "Company Car", "amount": 10.97}], "benefits": [{"name": "Health Insurance", "employee_deduction": 142.94, "employer_contribution": 141.14}, {"name": "Health Insurance", "employee_deduction": 142.94, "employer_contribution": 141.14}]}]}, {"id": "12345", "employee_id": "12345", "company_id": "23456", "processed": false, "processed_date": "2022-04-08", "check_date": "2022-04-08", "start_date": "2022-04-08", "end_date": "2022-04-21", "totals": {"company_debit": 27992.49, "tax_debit": 8655.32, "check_amount": 27966.23, "net_pay": 19337.17, "gross_pay": 27966.23, "employer_taxes": 2038.93, "employee_taxes": 6616.39, "employer_benefit_contributions": 0, "employee_benefit_deductions": 0}, "compensations": []}, {"id": "12345", "employee_id": "12345", "company_id": "23456", "processed": false, "processed_date": "2022-04-08", "check_date": "2022-04-08", "start_date": "2022-04-08", "end_date": "2022-04-21", "totals": {"company_debit": 27992.49, "tax_debit": 8655.32, "check_amount": 27966.23, "net_pay": 19337.17, "gross_pay": 27966.23, "employer_taxes": 2038.93, "employee_taxes": 6616.39, "employer_benefit_contributions": 0, "employee_benefit_deductions": 0}, "compensations": [{"employee_id": "12345", "net_pay": 2199.93, "gross_pay": 3000, "taxes": [], "deductions": [], "benefits": [{"name": "Health Insurance", "employee_deduction": 142.94, "employer_contribution": 141.14}, {"name": "Health Insurance", "employee_deduction": 142.94, "employer_contribution": 141.14}]}, {"employee_id": "12345", "net_pay": 2199.93, "gross_pay": 3000, "taxes": [{"name": "CA State Income Tax", "employer": false, "amount": 1.97}, {"name": "CA State Income Tax", "employer": false, "amount": 1.97}], "deductions": [{"name": "Company Car", "amount": 10.97}, {"name": "Company Car", "amount": 10.97}], "benefits": []}]}]} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.employeePayrollsOne: + "": + parameters: + path: + payroll_id: "" + employee_id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "undefined", "resource": "Companies", "operation": "one", "data": {"id": "12345", "employee_id": "12345", "company_id": "23456", "processed": false, "processed_date": "2022-04-08", "check_date": "2022-04-08", "start_date": "2022-04-08", "end_date": "2022-04-21", "totals": {"company_debit": 27992.49, "tax_debit": 8655.32, "check_amount": 27966.23, "net_pay": 19337.17, "gross_pay": 27966.23, "employer_taxes": 2038.93, "employee_taxes": 6616.39, "employer_benefit_contributions": 0, "employee_benefit_deductions": 0}, "compensations": [{"employee_id": "12345", "net_pay": 2199.93, "gross_pay": 3000, "taxes": [{"name": "CA State Income Tax", "employer": false, "amount": 1.97}, {"name": "CA State Income Tax", "employer": false, "amount": 1.97}], "deductions": [{"name": "Company Car", "amount": 10.97}, {"name": "Company Car", "amount": 10.97}], "benefits": [{"name": "Health Insurance", "employee_deduction": 142.94, "employer_contribution": 141.14}, {"name": "Health Insurance", "employee_deduction": 142.94, "employer_contribution": 141.14}]}, {"employee_id": "12345", "net_pay": 2199.93, "gross_pay": 3000, "taxes": [{"name": "CA State Income Tax", "employer": false, "amount": 1.97}, {"name": "CA State Income Tax", "employer": false, "amount": 1.97}, {"name": "CA State Income Tax", "employer": false, "amount": 1.97}], "deductions": [{"name": "Company Car", "amount": 10.97}], "benefits": [{"name": "Health Insurance", "employee_deduction": 142.94, "employer_contribution": 141.14}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.employeeSchedulesAll: + "": + parameters: + path: + employee_id: "" + query: + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "sage-hr", "resource": "Employees", "operation": "all", "data": {"employee": {"id": "12345", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "display_name": "Technoking", "preferred_name": "Elon Musk", "initials": "EM", "salutation": "Mr", "title": "CEO", "marital_status": "married", "partner": {"id": "12345", "first_name": "Elon", "last_name": "Musk", "middle_name": "D.", "gender": "male", "initials": "EM", "birthday": "2000-08-12", "deceased_on": "2000-08-12"}, "division": "Europe", "division_id": "12345", "department_id": "12345", "department_name": "12345", "team": {"id": "1234", "name": "Full Stack Engineers"}, "company_id": "23456", "company_name": "SpaceX", "employment_start_date": "2021-10-26", "employment_end_date": "2028-10-26", "leaving_reason": "resigned", "employee_number": "123456-AB", "employment_status": "active", "ethnicity": "African American", "manager": {"id": "12345", "name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "email": "elon@musk.com", "employment_status": "active"}, "direct_reports": ["a0d636c6-43b3-4bde-8c70-85b707d992f4", "a98lfd96-43b3-4bde-8c70-85b707d992e6"], "social_security_number": "123456789", "birthday": "2000-08-12", "deceased_on": "2000-08-12", "country_of_birth": "US", "description": "A description", "gender": "male", "pronouns": "she,her", "preferred_language": "EN", "languages": ["EN"], "nationalities": ["US"], "photo_url": "https://unavatar.io/elon-musk", "timezone": "Europe/London", "source": "lever", "source_id": "12345", "record_url": "https://app.intercom.io/contacts/12345", "jobs": [{"id": "12345", "employee_id": "12345", "title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, {"id": "12345", "employee_id": "12345", "title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}, {"id": "12345", "employee_id": "12345", "title": "CEO", "role": "Sales", "start_date": "2020-08-12", "end_date": "2020-08-12", "compensation_rate": 72000, "currency": "USD", "payment_unit": "year", "hired_at": "2020-08-12", "is_primary": true, "is_manager": true, "status": "active", "location": {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}}], "compensations": [{"id": "3404301363494309004", "job_id": "3490439050957906679", "rate": 50, "payment_unit": "hour", "flsa_status": "nonexempt", "effective_date": "2021-06-11"}], "works_remote": true, "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}, {"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}, {"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [], "custom_fields": [], "social_links": [], "bank_accounts": [{"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}, {"bank_name": "Monzo", "account_number": "123465", "account_name": "SPACEX LLC", "account_type": "credit_card", "iban": "CH2989144532982975332", "bic": "AUDSCHGGXXX", "routing_number": "012345678", "bsb_number": "062-001", "branch_identifier": "001", "bank_code": "BNH", "currency": "USD"}], "tax_code": "1111", "tax_id": "234-32-0000", "dietary_preference": "Veggie", "food_allergies": ["No allergies"], "probation_period": {"start_date": "2021-10-01", "end_date": "2021-11-28"}, "tags": ["New"], "row_version": "1-12345", "deleted": true, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": []}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}, "schedules": []}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.timeOffRequestsAll: + "": + parameters: + query: + filter: {"start_date": "2022-04-08", "end_date": "2022-04-21", "updated_since": "2020-09-30T07:43:32.000Z", "employee_id": "1234", "time_off_request_status": "approved", "company_id": "1234"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "bamboohr", "resource": "time-off-requests", "operation": "all", "data": [{"id": "12345", "employee_id": "12345", "policy_id": "12345", "status": "approved", "description": "Enjoying some sun.", "start_date": "2022-04-01", "end_date": "2022-04-01", "request_date": "2022-03-21", "request_type": "vacation", "approval_date": "2022-03-21", "units": "hours", "amount": 3.5, "day_part": "morning", "notes": {"employee": "Relaxing on the beach for a few hours.", "manager": "Enjoy!"}, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}], "policy_type": "sick"}, {"id": "12345", "employee_id": "12345", "policy_id": "12345", "status": "approved", "description": "Enjoying some sun.", "start_date": "2022-04-01", "end_date": "2022-04-01", "request_date": "2022-03-21", "request_type": "vacation", "approval_date": "2022-03-21", "units": "hours", "amount": 3.5, "day_part": "morning", "notes": {"employee": "Relaxing on the beach for a few hours.", "manager": "Enjoy!"}, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [], "policy_type": "sick"}, {"id": "12345", "employee_id": "12345", "policy_id": "12345", "status": "approved", "description": "Enjoying some sun.", "start_date": "2022-04-01", "end_date": "2022-04-01", "request_date": "2022-03-21", "request_type": "vacation", "approval_date": "2022-03-21", "units": "hours", "amount": 3.5, "day_part": "morning", "notes": {"employee": "Relaxing on the beach for a few hours.", "manager": "Enjoy!"}, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [], "policy_type": "sick"}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.timeOffRequestsAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"employee_id": "12345", "policy_id": "12345", "status": "approved", "description": "Enjoying some sun.", "start_date": "2022-04-01", "end_date": "2022-04-01", "request_date": "2022-03-21", "request_type": "vacation", "approval_date": "2022-03-21", "units": "hours", "amount": 3.5, "day_part": "morning", "notes": {"employee": "Relaxing on the beach for a few hours.", "manager": "Enjoy!"}, "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}], "policy_type": "sick"} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "bamboohr", "resource": "time-off-requests", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.timeOffRequestsOne: + "": + parameters: + path: + id: "" + employee_id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "bamboohr", "resource": "time-off-requests", "operation": "one", "data": {"id": "12345", "employee_id": "12345", "policy_id": "12345", "status": "approved", "description": "Enjoying some sun.", "start_date": "2022-04-01", "end_date": "2022-04-01", "request_date": "2022-03-21", "request_type": "vacation", "approval_date": "2022-03-21", "units": "hours", "amount": 3.5, "day_part": "morning", "notes": {"employee": "Relaxing on the beach for a few hours.", "manager": "Enjoy!"}, "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}], "policy_type": "sick"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.timeOffRequestsUpdate: + "": + parameters: + path: + id: "" + employee_id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"employee_id": "12345", "policy_id": "12345", "status": "approved", "description": "Enjoying some sun.", "start_date": "2022-04-01", "end_date": "2022-04-01", "request_date": "2022-03-21", "request_type": "vacation", "approval_date": "2022-03-21", "units": "hours", "amount": 3.5, "day_part": "morning", "notes": {"employee": "Relaxing on the beach for a few hours.", "manager": "Enjoy!"}, "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}], "policy_type": "sick"} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "bamboohr", "resource": "time-off-requests", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + hris.timeOffRequestsDelete: + "": + parameters: + path: + id: "" + employee_id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "bamboohr", "resource": "time-off-requests", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + sms.messagesAll: + "": + parameters: + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "twilio", "resource": "Messages", "operation": "all", "data": [{"id": "12345", "from": "+15017122661", "to": "+15017122662", "subject": "Picture", "body": "Hi! How are you doing?", "type": "sms", "number_of_units": 1, "number_of_media_files": 1, "direction": "outbound-api", "status": "sent", "scheduled_at": "2020-09-30T07:43:32.000Z", "sent_at": "2020-09-30T07:43:32.000Z", "webhook_url": "https://unify.apideck.com/webhook/webhooks/eyz329dkffdl4949/x/sms", "reference": "CUST001", "price": {"per_unit": "0.01", "total_amount": "0.01", "currency": "USD"}, "error": {"code": "X1", "message": "Something went wrong"}, "messaging_service_id": "123456", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "from": "+15017122661", "to": "+15017122662", "subject": "Picture", "body": "Hi! How are you doing?", "type": "sms", "number_of_units": 1, "number_of_media_files": 1, "direction": "outbound-api", "status": "sent", "scheduled_at": "2020-09-30T07:43:32.000Z", "sent_at": "2020-09-30T07:43:32.000Z", "webhook_url": "https://unify.apideck.com/webhook/webhooks/eyz329dkffdl4949/x/sms", "reference": "CUST001", "price": {"per_unit": "0.01", "total_amount": "0.01", "currency": "USD"}, "error": {"code": "X1", "message": "Something went wrong"}, "messaging_service_id": "123456", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "from": "+15017122661", "to": "+15017122662", "subject": "Picture", "body": "Hi! How are you doing?", "type": "sms", "number_of_units": 1, "number_of_media_files": 1, "direction": "outbound-api", "status": "sent", "scheduled_at": "2020-09-30T07:43:32.000Z", "sent_at": "2020-09-30T07:43:32.000Z", "webhook_url": "https://unify.apideck.com/webhook/webhooks/eyz329dkffdl4949/x/sms", "reference": "CUST001", "price": {"per_unit": "0.01", "total_amount": "0.01", "currency": "USD"}, "error": {"code": "X1", "message": "Something went wrong"}, "messaging_service_id": "123456", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + sms.messagesAdd: + "": + parameters: + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"from": "+15017122661", "to": "+15017122662", "subject": "Picture", "body": "Hi! How are you doing?", "type": "sms", "scheduled_at": "2020-09-30T07:43:32.000Z", "webhook_url": "https://unify.apideck.com/webhook/webhooks/eyz329dkffdl4949/x/sms", "reference": "CUST001", "messaging_service_id": "123456", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "twilio", "resource": "Messages", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + sms.messagesOne: + "": + parameters: + path: + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "twilio", "resource": "Messages", "operation": "one", "data": {"id": "12345", "from": "+15017122661", "to": "+15017122662", "subject": "Picture", "body": "Hi! How are you doing?", "type": "sms", "number_of_units": 1, "number_of_media_files": 1, "direction": "outbound-api", "status": "sent", "scheduled_at": "2020-09-30T07:43:32.000Z", "sent_at": "2020-09-30T07:43:32.000Z", "webhook_url": "https://unify.apideck.com/webhook/webhooks/eyz329dkffdl4949/x/sms", "reference": "CUST001", "price": {"per_unit": "0.01", "total_amount": "0.01", "currency": "USD"}, "error": {"code": "X1", "message": "Something went wrong"}, "messaging_service_id": "123456", "updated_by": "12345", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + sms.messagesUpdate: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"from": "+15017122661", "to": "+15017122662", "subject": "Picture", "body": "Hi! How are you doing?", "type": "sms", "scheduled_at": "2020-09-30T07:43:32.000Z", "webhook_url": "https://unify.apideck.com/webhook/webhooks/eyz329dkffdl4949/x/sms", "reference": "CUST001", "messaging_service_id": "123456", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "twilio", "resource": "Messages", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + sms.messagesDelete: + "": + parameters: + path: + id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "twilio", "resource": "Messages", "operation": "delete", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + issueTracking.collectionsAll: + "": + parameters: + query: + sort: {"by": "name", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "jira", "resource": "Tickets", "operation": "all", "data": [{"id": "12345", "parent_id": "12345", "type": "Technical", "name": "Main IT Issues", "description": "IT Issues", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "parent_id": "12345", "type": "Technical", "name": "Main IT Issues", "description": "IT Issues", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "parent_id": "12345", "type": "Technical", "name": "Main IT Issues", "description": "IT Issues", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + issueTracking.collectionsOne: + "": + parameters: + path: + collection_id: "apideck-io" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "jira", "resource": "Tickets", "operation": "one", "data": {"id": "12345", "parent_id": "12345", "type": "Technical", "name": "Main IT Issues", "description": "IT Issues", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + issueTracking.collectionTicketsAll: + "": + parameters: + path: + collection_id: "apideck-io" + query: + sort: {"by": "created_at", "direction": "desc"} + filter: {"status": ["open"]} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "jira", "resource": "Tickets", "operation": "all", "data": [{"id": "12345", "parent_id": "12345", "collection_id": "12345", "type": "Technical", "subject": "Technical Support Request", "description": "I am facing issues with my internet connection", "status": "open", "priority": "high", "assignees": [{"id": "12345", "username": "Cocoa"}, {"id": "12345", "username": "Cocoa"}], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "created_by": "12345", "due_date": "2020-09-30T07:43:32.000Z", "completed_at": "2020-09-30T07:43:32.000Z", "tags": [{"id": "12345", "name": "User Experience"}, {"id": "12345", "name": "User Experience"}], "pass_through": []}, {"id": "12345", "parent_id": "12345", "collection_id": "12345", "type": "Technical", "subject": "Technical Support Request", "description": "I am facing issues with my internet connection", "status": "open", "priority": "high", "assignees": [], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "created_by": "12345", "due_date": "2020-09-30T07:43:32.000Z", "completed_at": "2020-09-30T07:43:32.000Z", "tags": [], "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "parent_id": "12345", "collection_id": "12345", "type": "Technical", "subject": "Technical Support Request", "description": "I am facing issues with my internet connection", "status": "open", "priority": "high", "assignees": [{"id": "12345", "username": "Cocoa"}, {"id": "12345", "username": "Cocoa"}], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "created_by": "12345", "due_date": "2020-09-30T07:43:32.000Z", "completed_at": "2020-09-30T07:43:32.000Z", "tags": [], "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + issueTracking.collectionTicketsAdd: + "": + parameters: + path: + collection_id: "apideck-io" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"parent_id": "12345", "type": "Technical", "subject": "Technical Support Request", "description": "I am facing issues with my internet connection", "status": "open", "priority": "high", "assignees": [{"id": "12345"}], "due_date": "2020-09-30T07:43:32.000Z", "tags": [{"id": "12345"}, {"id": "12345"}], "pass_through": [{"service_id": "", "extend_paths": []}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "jira", "resource": "Tickets", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + issueTracking.collectionTicketsOne: + "": + parameters: + path: + ticket_id: "" + collection_id: "apideck-io" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "sage-hr", "resource": "Tickets", "operation": "one", "data": {"id": "12345", "parent_id": "12345", "collection_id": "12345", "type": "Technical", "subject": "Technical Support Request", "description": "I am facing issues with my internet connection", "status": "open", "priority": "high", "assignees": [{"id": "12345", "username": "Cocoa"}, {"id": "12345", "username": "Cocoa"}], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "created_by": "12345", "due_date": "2020-09-30T07:43:32.000Z", "completed_at": "2020-09-30T07:43:32.000Z", "tags": [{"id": "12345", "name": "User Experience"}, {"id": "12345", "name": "User Experience"}], "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + issueTracking.collectionTicketsUpdate: + "": + parameters: + path: + ticket_id: "" + collection_id: "apideck-io" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"parent_id": "12345", "type": "Technical", "subject": "Technical Support Request", "description": "I am facing issues with my internet connection", "status": "open", "priority": "high", "assignees": [{"id": "12345"}, {"id": "12345"}, {"id": "12345"}], "due_date": "2020-09-30T07:43:32.000Z", "tags": [{"id": "12345"}, {"id": "12345"}], "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "github", "resource": "Tickets", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + issueTracking.collectionTicketsDelete: + "": + parameters: + path: + ticket_id: "" + collection_id: "apideck-io" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "jira", "resource": "Tickets", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + issueTracking.collectionTicketCommentsAll: + "": + parameters: + path: + collection_id: "apideck-io" + ticket_id: "" + query: + sort: {"by": "created_at", "direction": "desc"} + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "jira", "resource": "Tickets", "operation": "all", "data": [{"id": "12345", "body": "What internet provider do you use?", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": []}]}, {"id": "12345", "body": "What internet provider do you use?", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}, {"id": "12345", "body": "What internet provider do you use?", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": []}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + issueTracking.collectionTicketCommentsAdd: + "": + parameters: + path: + collection_id: "apideck-io" + ticket_id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"body": "What internet provider do you use?", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "service": "jira", "resource": "Tickets", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + issueTracking.collectionTicketCommentsOne: + "": + parameters: + path: + id: "" + collection_id: "apideck-io" + ticket_id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "sage-hr", "resource": "Tickets", "operation": "one", "data": {"id": "12345", "body": "What internet provider do you use?", "created_by": "12345", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + issueTracking.collectionTicketCommentsUpdate: + "": + parameters: + path: + id: "" + collection_id: "apideck-io" + ticket_id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + requestBody: + application/json: {"body": "What internet provider do you use?", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}, {"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}, {"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "github", "resource": "Tickets", "operation": "update", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + issueTracking.collectionTicketCommentsDelete: + "": + parameters: + path: + id: "" + collection_id: "apideck-io" + ticket_id: "" + query: {} + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "jira", "resource": "Tickets", "operation": "add", "data": {"id": "12345"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + issueTracking.collectionUsersAll: + "": + parameters: + path: + collection_id: "apideck-io" + query: + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "jira", "resource": "Tickets", "operation": "all", "data": [{"id": "12345", "name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "email": "elon@musk.com", "photo_url": "https://unavatar.io/elon-musk", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "email": "elon@musk.com", "photo_url": "https://unavatar.io/elon-musk", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}, {"id": "12345", "name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "email": "elon@musk.com", "photo_url": "https://unavatar.io/elon-musk", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + issueTracking.collectionUsersOne: + "": + parameters: + path: + collection_id: "apideck-io" + id: "" + query: + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "jira", "resource": "Tickets", "operation": "one", "data": {"id": "12345", "name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "email": "elon@musk.com", "photo_url": "https://unavatar.io/elon-musk", "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + issueTracking.collectionTagsAll: + "": + parameters: + path: + collection_id: "apideck-io" + query: + pass_through: {"search": "San Francisco"} + fields: "id,updated_at" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-service-id: "salesforce" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "service": "jira", "resource": "Tickets", "operation": "all", "data": [{"id": "12345", "name": "User Experience"}, {"id": "12345", "name": "User Experience"}, {"id": "12345", "name": "User Experience"}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + connector.connectorsAll: + "": + parameters: + query: + filter: {"unified_api": "file-storage"} + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": [{"id": "crm+salesforce", "name": "Salesforce", "description": "A description", "icon_url": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo_url": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "website_url": "https://www.salesforce.com", "signup_url": "https://www.salesforce.com/signup", "partner_signup_url": "https://www.salesforce.com/partners", "auth_type": "oauth2", "auth_only": true, "blind_mapped": true, "oauth_grant_type": "authorization_code", "oauth_credentials_source": "integration", "oauth_scopes": [{"id": "contacts:all", "label": "Read/write on the Contacts resource", "default_apis": ["crm"]}, {"id": "contacts:all", "label": "Read/write on the Contacts resource", "default_apis": ["crm"]}], "custom_scopes": true, "has_sandbox_credentials": true, "settings": [{"id": "pipeline_id", "label": "Pipeline", "type": "select"}, {"id": "pipeline_id", "label": "Pipeline", "type": "select"}], "service_id": "close", "unified_apis": [], "supported_resources": [], "configurable_resources": ["leads", "companies"], "supported_events": [], "webhook_support": {"mode": "native", "subscription_level": "integration", "managed_via": "api"}, "schema_support": {"supported": true}, "docs": [{"id": "12345", "name": "connection", "url": "https://unify.apideck.com/connector/connectors/workday/docs/consumer+connection"}, {"id": "12345", "name": "connection", "url": "https://unify.apideck.com/connector/connectors/workday/docs/consumer+connection"}]}, {"id": "crm+salesforce", "name": "Salesforce", "description": "A description", "icon_url": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo_url": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "website_url": "https://www.salesforce.com", "signup_url": "https://www.salesforce.com/signup", "partner_signup_url": "https://www.salesforce.com/partners", "auth_type": "oauth2", "auth_only": true, "blind_mapped": true, "oauth_grant_type": "authorization_code", "oauth_credentials_source": "integration", "oauth_scopes": [{"id": "contacts:all", "label": "Read/write on the Contacts resource", "default_apis": ["crm"]}, {"id": "contacts:all", "label": "Read/write on the Contacts resource", "default_apis": ["crm"]}], "custom_scopes": true, "has_sandbox_credentials": true, "settings": [], "service_id": "close", "unified_apis": [{"id": "crm", "name": "File Storage API", "auth_only": true, "oauth_scopes": [{"id": "contacts:all", "label": "Read/write on the Contacts resource"}], "supported_resources": [], "downstream_unsupported_resources": ["companies"], "supported_events": []}, {"id": "crm", "name": "File Storage API", "auth_only": true, "oauth_scopes": [{"id": "contacts:all", "label": "Read/write on the Contacts resource"}], "supported_resources": [{"id": "companies", "name": "Companies", "downstream_id": "accounts", "downstream_name": "Accounts"}, {"id": "companies", "name": "Companies", "downstream_id": "accounts", "downstream_name": "Accounts"}], "downstream_unsupported_resources": ["companies"], "supported_events": [{"event_type": "employee.created", "event_source": "native", "downstream_event_type": "person_created", "resources": ["companies"], "entity_type": "employee"}, {"event_type": "employee.created", "event_source": "native", "downstream_event_type": "person_created", "resources": ["companies"], "entity_type": "employee"}]}], "supported_resources": [{"id": "companies", "name": "Companies", "downstream_id": "accounts", "downstream_name": "Accounts"}, {"id": "companies", "name": "Companies", "downstream_id": "accounts", "downstream_name": "Accounts"}], "configurable_resources": ["leads", "companies"], "supported_events": [], "webhook_support": {"mode": "native", "subscription_level": "integration", "managed_via": "api"}, "schema_support": {"supported": true}, "docs": []}, {"id": "crm+salesforce", "name": "Salesforce", "description": "A description", "icon_url": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo_url": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "website_url": "https://www.salesforce.com", "signup_url": "https://www.salesforce.com/signup", "partner_signup_url": "https://www.salesforce.com/partners", "auth_type": "oauth2", "auth_only": true, "blind_mapped": true, "oauth_grant_type": "authorization_code", "oauth_credentials_source": "integration", "oauth_scopes": [{"id": "contacts:all", "label": "Read/write on the Contacts resource", "default_apis": ["crm"]}], "custom_scopes": true, "has_sandbox_credentials": true, "settings": [{"id": "pipeline_id", "label": "Pipeline", "type": "select"}], "service_id": "close", "unified_apis": [], "supported_resources": [{"id": "companies", "name": "Companies", "downstream_id": "accounts", "downstream_name": "Accounts"}, {"id": "companies", "name": "Companies", "downstream_id": "accounts", "downstream_name": "Accounts"}, {"id": "companies", "name": "Companies", "downstream_id": "accounts", "downstream_name": "Accounts"}], "configurable_resources": ["leads", "companies"], "supported_events": [{"event_type": "employee.created", "event_source": "native", "downstream_event_type": "person_created", "resources": ["companies"], "entity_type": "employee"}, {"event_type": "employee.created", "event_source": "native", "downstream_event_type": "person_created", "resources": ["companies"], "entity_type": "employee"}], "webhook_support": {"mode": "native", "subscription_level": "integration", "managed_via": "api"}, "schema_support": {"supported": true}, "docs": [{"id": "12345", "name": "connection", "url": "https://unify.apideck.com/connector/connectors/workday/docs/consumer+connection"}, {"id": "12345", "name": "connection", "url": "https://unify.apideck.com/connector/connectors/workday/docs/consumer+connection"}, {"id": "12345", "name": "connection", "url": "https://unify.apideck.com/connector/connectors/workday/docs/consumer+connection"}]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + connector.connectorsOne: + "": + parameters: + path: + id: "" + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "name": "Salesforce", "description": "A description", "icon_url": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo_url": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "website_url": "https://www.salesforce.com", "signup_url": "https://www.salesforce.com/signup", "partner_signup_url": "https://www.salesforce.com/partners", "auth_type": "oauth2", "auth_only": true, "blind_mapped": true, "oauth_grant_type": "authorization_code", "oauth_credentials_source": "integration", "oauth_scopes": [{"id": "contacts:all", "label": "Read/write on the Contacts resource", "default_apis": ["crm"]}, {"id": "contacts:all", "label": "Read/write on the Contacts resource", "default_apis": ["crm"]}], "custom_scopes": true, "has_sandbox_credentials": true, "settings": [{"id": "pipeline_id", "label": "Pipeline", "type": "select"}, {"id": "pipeline_id", "label": "Pipeline", "type": "select"}], "service_id": "close", "unified_apis": [{"id": "crm", "name": "File Storage API", "auth_only": true, "oauth_scopes": [{"id": "contacts:all", "label": "Read/write on the Contacts resource"}], "supported_resources": [{"id": "companies", "name": "Companies", "downstream_id": "accounts", "downstream_name": "Accounts"}, {"id": "companies", "name": "Companies", "downstream_id": "accounts", "downstream_name": "Accounts"}], "downstream_unsupported_resources": ["companies"], "supported_events": [{"event_type": "employee.created", "event_source": "native", "downstream_event_type": "person_created", "resources": ["companies"], "entity_type": "employee"}, {"event_type": "employee.created", "event_source": "native", "downstream_event_type": "person_created", "resources": ["companies"], "entity_type": "employee"}, {"event_type": "employee.created", "event_source": "native", "downstream_event_type": "person_created", "resources": ["companies"], "entity_type": "employee"}]}, {"id": "crm", "name": "File Storage API", "auth_only": true, "oauth_scopes": [{"id": "contacts:all", "label": "Read/write on the Contacts resource"}], "supported_resources": [{"id": "companies", "name": "Companies", "downstream_id": "accounts", "downstream_name": "Accounts"}], "downstream_unsupported_resources": ["companies"], "supported_events": [{"event_type": "employee.created", "event_source": "native", "downstream_event_type": "person_created", "resources": ["companies"], "entity_type": "employee"}]}], "supported_resources": [{"id": "companies", "name": "Companies", "downstream_id": "accounts", "downstream_name": "Accounts"}], "configurable_resources": ["leads", "companies"], "supported_events": [], "webhook_support": {"mode": "native", "subscription_level": "integration", "managed_via": "api"}, "schema_support": {"supported": true}, "docs": [{"id": "12345", "name": "connection", "url": "https://unify.apideck.com/connector/connectors/workday/docs/consumer+connection"}, {"id": "12345", "name": "connection", "url": "https://unify.apideck.com/connector/connectors/workday/docs/consumer+connection"}, {"id": "12345", "name": "connection", "url": "https://unify.apideck.com/connector/connectors/workday/docs/consumer+connection"}]}, "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + connector.connectorDocsOne: + "": + parameters: + path: + id: "" + doc_id: "application_owner+oauth_credentials" + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + text/markdown: "" + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + connector.connectorResourcesOne: + "": + parameters: + path: + id: "" + resource_id: "" + query: + unified_api: "crm" + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"id": "companies", "name": "Companies", "downstream_id": "accounts", "downstream_name": "Accounts", "pagination": {"mode": "native"}, "supported_operations": ["all", "one", "add", "update", "delete"], "downstream_unsupported_operations": ["upload"], "supported_filters": ["name", "email"], "supported_sort_by": ["updated_at", "created_at", "name"], "supported_fields": [{"unified_property": "owner_id"}, {"unified_property": "owner_id"}], "supported_list_fields": [{"unified_property": "owner_id"}, {"unified_property": "owner_id"}]}, "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + connector.apisAll: + "": + parameters: + query: + filter: {"status": "beta"} + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": [{"id": "file-storage", "name": "File Storage API", "description": "Manage API keys, access tokens, OAuth flows and integrations.", "spec_url": "https://specs.apideck.com/file-storage.yml", "api_reference_url": "https://developers.apideck.com/apis/file-storage/reference", "postman_collection_id": "1311564-00e7266b-a3d6-4f40-b172-baaa66a3ed6f", "categories": ["files", "file-storage", "cloud-storage", "object-storage"], "resources": [{"id": "companies", "name": "Companies", "excluded_from_coverage": false}, {"id": "companies", "name": "Companies", "excluded_from_coverage": false}], "events": ["crm.contact.updated", "accounting.invoice.created"]}, {"id": "file-storage", "name": "File Storage API", "description": "Manage API keys, access tokens, OAuth flows and integrations.", "spec_url": "https://specs.apideck.com/file-storage.yml", "api_reference_url": "https://developers.apideck.com/apis/file-storage/reference", "postman_collection_id": "1311564-00e7266b-a3d6-4f40-b172-baaa66a3ed6f", "categories": ["files", "file-storage", "cloud-storage", "object-storage"], "resources": [{"id": "companies", "name": "Companies", "excluded_from_coverage": false}, {"id": "companies", "name": "Companies", "excluded_from_coverage": false}], "events": ["crm.contact.updated", "accounting.invoice.created"]}, {"id": "file-storage", "name": "File Storage API", "description": "Manage API keys, access tokens, OAuth flows and integrations.", "spec_url": "https://specs.apideck.com/file-storage.yml", "api_reference_url": "https://developers.apideck.com/apis/file-storage/reference", "postman_collection_id": "1311564-00e7266b-a3d6-4f40-b172-baaa66a3ed6f", "categories": ["files", "file-storage", "cloud-storage", "object-storage"], "resources": [], "events": ["crm.contact.updated", "accounting.invoice.created"]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + connector.apisOne: + "": + parameters: + path: + id: "" + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"id": "file-storage", "name": "File Storage API", "description": "Manage API keys, access tokens, OAuth flows and integrations.", "spec_url": "https://specs.apideck.com/file-storage.yml", "api_reference_url": "https://developers.apideck.com/apis/file-storage/reference", "postman_collection_id": "1311564-00e7266b-a3d6-4f40-b172-baaa66a3ed6f", "categories": ["files", "file-storage", "cloud-storage", "object-storage"], "resources": [{"id": "companies", "name": "Companies", "excluded_from_coverage": false}, {"id": "companies", "name": "Companies", "excluded_from_coverage": false}], "events": ["crm.contact.updated", "accounting.invoice.created"]}, "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + connector.apiResourcesOne: + "": + parameters: + path: + id: "" + resource_id: "" + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"id": "companies", "name": "Companies", "linked_resources": [{"id": "companies", "unified_property": "owner_id"}, {"id": "companies", "unified_property": "owner_id"}]}, "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + connector.apiResourceCoverageOne: + "": + parameters: + path: + id: "" + resource_id: "" + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"id": "companies", "name": "Companies", "coverage": [{"downstream_id": "accounts", "downstream_name": "Accounts", "pagination": {"mode": "native"}, "supported_operations": ["all", "one", "add", "update", "delete"], "supported_filters": ["name", "email"], "supported_sort_by": ["updated_at", "created_at", "name"], "supported_fields": [{"unified_property": "owner_id"}, {"unified_property": "owner_id"}], "supported_list_fields": [{"unified_property": "owner_id"}, {"unified_property": "owner_id"}, {"unified_property": "owner_id"}]}, {"downstream_id": "accounts", "downstream_name": "Accounts", "pagination": {"mode": "native"}, "supported_operations": ["all", "one", "add", "update", "delete"], "supported_filters": ["name", "email"], "supported_sort_by": ["updated_at", "created_at", "name"], "supported_fields": [], "supported_list_fields": [{"unified_property": "owner_id"}, {"unified_property": "owner_id"}, {"unified_property": "owner_id", "child_properties": []}]}]}, "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.consumersAdd: + "": + parameters: + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + requestBody: + application/json: {"consumer_id": "test_consumer_id", "metadata": {"account_name": "SpaceX", "user_name": "Elon Musk", "email": "elon@musk.com", "image": "https://www.spacex.com/static/images/share.jpg"}} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"consumer_id": "test_consumer_id", "application_id": "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX", "metadata": {"account_name": "SpaceX", "user_name": "Elon Musk", "email": "elon@musk.com", "image": "https://www.spacex.com/static/images/share.jpg"}, "connections": [{"id": "1111+test_user_id", "name": "Salesforce", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "website": "https://www.salesforce.com", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "service_id": "teamleader", "unified_api": "crm", "consumer_id": "test_user_id", "auth_type": "oauth2", "enabled": true, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "created_at": "2020-09-19T12:18:37.071Z", "updated_at": "2020-09-19T12:18:37.071Z", "state": "authorized"}], "services": ["salesforce", "stripe"], "aggregated_request_count": 101, "request_counts": {"unify": 100, "proxy": 10, "vault": 21}, "created": "2021-05-07T12:55:42.242Z", "modified": "2021-05-07T12:55:42.242Z", "request_count_updated": "2021-05-07T12:55:42.242Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.consumersAll: + "": + parameters: + query: {} + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": [{"consumer_id": "test_consumer_id", "application_id": "1111", "metadata": {"account_name": "SpaceX", "user_name": "Elon Musk", "email": "elon@musk.com", "image": "https://www.spacex.com/static/images/share.jpg"}, "aggregated_request_count": 101, "request_counts": {"unify": 100, "proxy": 10, "vault": 21}, "created": "2021-05-07T12:55:42.242Z", "modified": "2021-05-07T12:55:42.242Z", "request_count_updated": "2021-05-07T12:55:42.242Z", "services": ["salesforce", "stripe"]}, {"consumer_id": "test_consumer_id", "application_id": "1111", "metadata": {"account_name": "SpaceX", "user_name": "Elon Musk", "email": "elon@musk.com", "image": "https://www.spacex.com/static/images/share.jpg"}, "aggregated_request_count": 101, "request_counts": {"unify": 100, "proxy": 10, "vault": 21}, "created": "2021-05-07T12:55:42.242Z", "modified": "2021-05-07T12:55:42.242Z", "request_count_updated": "2021-05-07T12:55:42.242Z", "services": ["salesforce", "stripe"]}, {"consumer_id": "test_consumer_id", "application_id": "1111", "metadata": {"account_name": "SpaceX", "user_name": "Elon Musk", "email": "elon@musk.com", "image": "https://www.spacex.com/static/images/share.jpg"}, "aggregated_request_count": 101, "request_counts": {"unify": 100, "proxy": 10, "vault": 21}, "created": "2021-05-07T12:55:42.242Z", "modified": "2021-05-07T12:55:42.242Z", "request_count_updated": "2021-05-07T12:55:42.242Z", "services": ["salesforce", "stripe"]}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.consumersOne: + "": + parameters: + path: + consumer_id: "test_user_id" + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"consumer_id": "test_consumer_id", "application_id": "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX", "metadata": {"account_name": "SpaceX", "user_name": "Elon Musk", "email": "elon@musk.com", "image": "https://www.spacex.com/static/images/share.jpg"}, "connections": [{"id": "1111+test_user_id", "name": "Salesforce", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "website": "https://www.salesforce.com", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "service_id": "teamleader", "unified_api": "crm", "consumer_id": "test_user_id", "auth_type": "oauth2", "enabled": true, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "created_at": "2020-09-19T12:18:37.071Z", "updated_at": "2020-09-19T12:18:37.071Z", "state": "authorized"}, {"id": "1111+test_user_id", "name": "Salesforce", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "website": "https://www.salesforce.com", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "service_id": "teamleader", "unified_api": "crm", "consumer_id": "test_user_id", "auth_type": "oauth2", "enabled": true, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "created_at": "2020-09-19T12:18:37.071Z", "updated_at": "2020-09-19T12:18:37.071Z", "state": "authorized"}], "services": ["salesforce", "stripe"], "aggregated_request_count": 101, "request_counts": {"unify": 100, "proxy": 10, "vault": 21}, "created": "2021-05-07T12:55:42.242Z", "modified": "2021-05-07T12:55:42.242Z", "request_count_updated": "2021-05-07T12:55:42.242Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.consumersUpdate: + "": + parameters: + path: + consumer_id: "test_user_id" + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + requestBody: + application/json: {"metadata": {"account_name": "SpaceX", "user_name": "Elon Musk", "email": "elon@musk.com", "image": "https://www.spacex.com/static/images/share.jpg"}} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"consumer_id": "test_consumer_id", "application_id": "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX", "metadata": {"account_name": "SpaceX", "user_name": "Elon Musk", "email": "elon@musk.com", "image": "https://www.spacex.com/static/images/share.jpg"}, "connections": [{"id": "1111+test_user_id", "name": "Salesforce", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "website": "https://www.salesforce.com", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "service_id": "teamleader", "unified_api": "crm", "consumer_id": "test_user_id", "auth_type": "oauth2", "enabled": true, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "created_at": "2020-09-19T12:18:37.071Z", "updated_at": "2020-09-19T12:18:37.071Z", "state": "authorized"}, {"id": "1111+test_user_id", "name": "Salesforce", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "website": "https://www.salesforce.com", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "service_id": "teamleader", "unified_api": "crm", "consumer_id": "test_user_id", "auth_type": "oauth2", "enabled": true, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "created_at": "2020-09-19T12:18:37.071Z", "updated_at": "2020-09-19T12:18:37.071Z", "state": "authorized"}, {"id": "1111+test_user_id", "name": "Salesforce", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "website": "https://www.salesforce.com", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "service_id": "teamleader", "unified_api": "crm", "consumer_id": "test_user_id", "auth_type": "oauth2", "enabled": true, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "created_at": "2020-09-19T12:18:37.071Z", "updated_at": "2020-09-19T12:18:37.071Z", "state": "authorized"}], "services": ["salesforce", "stripe"], "aggregated_request_count": 101, "request_counts": {"unify": 100, "proxy": 10, "vault": 21}, "created": "2021-05-07T12:55:42.242Z", "modified": "2021-05-07T12:55:42.242Z", "request_count_updated": "2021-05-07T12:55:42.242Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.consumersDelete: + "": + parameters: + path: + consumer_id: "test_user_id" + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"consumer_id": "test_consumer_id"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.consumerRequestCountsAll: + "": + parameters: + path: + consumer_id: "test_user_id" + query: + start_datetime: "2021-05-01T12:00:00.000Z" + end_datetime: "2021-05-30T12:00:00.000Z" + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"application_id": "1111", "consumer_id": "test_user_id", "start_datetime": "2021-05-01T12:00:00.000Z", "end_datetime": "2021-05-10T12:00:00.000Z", "aggregated_request_count": 40, "request_counts": {"unify": 100, "proxy": 10, "vault": 21}}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.connectionsAll: + "": + parameters: + query: + api: "crm" + configured: true + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": [{"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [], "value": 10}, {"target": "custom_fields", "id": "ProductInterest", "options": [], "value": true}]}, {"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [], "value": true}, {"target": "custom_fields", "id": "ProductInterest", "options": [], "value": "GC5000 series"}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}, {"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "created_at": 1615563533390, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}, {"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "updated_at": 1616662325753}, {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": []}, {"resource": "leads", "defaults": []}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "created_at": 1615563533390, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "updated_at": 1616662325753}, {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": true}], "configuration": [], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}, {"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}, {"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "created_at": 1615563533390, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}, {"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "updated_at": 1616662325753}]} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.connectionsOne: + "": + parameters: + path: + service_id: "pipedrive" + unified_api: "crm" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": 12.5}, {"label": "General Channel", "value": 12.5}, {"label": "General Channel", "value": 123}]}, {"label": "General Channel", "value": ["team", "general"]}], "value": 10.5}, {"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "value": 123}, {"label": "General Channel", "value": "general"}, {"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": 123}, {"label": "General Channel", "value": true}, {"label": "General Channel", "value": true}]}], "value": 10.5}]}, {"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "value": 123}], "value": true}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "created_at": 1615563533390, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}, {"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "updated_at": 1616662325753}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.connectionsUpdate: + "": + parameters: + path: + service_id: "pipedrive" + unified_api: "crm" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + requestBody: + application/json: {"enabled": true, "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "configuration": [{"resource": "leads", "defaults": [{"id": "ProductInterest", "options": [{"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": 12.5}, {"label": "General Channel", "value": ["team", "general"]}]}], "value": "GC5000 series"}, {"id": "ProductInterest", "options": [{"label": "General Channel", "value": 123}, {"label": "General Channel", "value": "general"}, {"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": 123}, {"label": "General Channel", "value": 12.5}, {"label": "General Channel", "value": true}]}], "value": true}]}, {"resource": "leads", "defaults": [{"id": "ProductInterest", "options": [], "value": true}]}, {"resource": "leads", "defaults": [{"id": "ProductInterest", "options": [{"id": "1234", "label": "General Channel", "options": []}], "value": 10}, {"id": "ProductInterest", "options": [{"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": ["team", "general"]}, {"label": "General Channel", "value": true}, {"label": "General Channel", "value": 12.5}]}], "value": 10}, {"id": "ProductInterest", "options": [{"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": ["team", "general"]}, {"label": "General Channel", "value": "general"}]}, {"label": "General Channel", "value": 123}], "value": true}]}], "custom_mappings": []} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": []}, {"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [], "value": true}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "created_at": 1615563533390, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "updated_at": 1616662325753}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.connectionsDelete: + "": + parameters: + path: + service_id: "pipedrive" + unified_api: "crm" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.connectionsImport: + "": + parameters: + path: + service_id: "pipedrive" + unified_api: "crm" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + requestBody: + application/json: {"credentials": {"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.cThIIoDvwdueQB468K5xDc5633seEFoqwxjF_xSJyQQ", "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}} + responses: + "200": + application/json: {"status_code": 201, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": true}, {"label": "General Channel", "value": 12.5}, {"label": "General Channel", "value": true}]}], "value": 10}, {"target": "custom_fields", "id": "ProductInterest", "options": [{"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": true}, {"label": "General Channel", "value": ["team", "general"]}, {"label": "General Channel", "value": "general"}]}, {"label": "General Channel", "value": true}, {"label": "General Channel", "value": 123}], "value": 10}]}, {"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": true}, {"label": "General Channel", "value": "general"}, {"label": "General Channel", "value": true}]}, {"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": true}, {"label": "General Channel", "value": true}]}, {"id": "1234", "label": "General Channel", "options": []}], "value": "GC5000 series"}, {"target": "custom_fields", "id": "ProductInterest", "options": [], "value": 10.5}, {"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "value": ["team", "general"]}, {"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": true}, {"label": "General Channel", "value": 12.5}, {"label": "General Channel", "value": 12.5}]}, {"label": "General Channel", "value": "general"}], "value": 10.5}]}, {"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": true}]}, {"label": "General Channel", "value": "general"}, {"label": "General Channel", "value": "general"}], "value": ["GC6000 series", 10.5, 10]}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [], "has_guide": true, "created_at": 1615563533390, "custom_mappings": [], "updated_at": 1616662325753}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.connectionsToken: + "": + parameters: + path: + service_id: "pipedrive" + unified_api: "crm" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": true}], "configuration": [], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}, {"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "created_at": 1615563533390, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}, {"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "updated_at": 1616662325753}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.validateConnectionState: + "": + parameters: + path: + service_id: "pipedrive" + unified_api: "crm" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "state": "authorized"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.createCallbackState: + "": + parameters: + path: + service_id: "pipedrive" + unified_api: "crm" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + requestBody: + application/json: {"redirect_uri": "https://example.com/callback"} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"state": "123e4567-e89b-12d3-a456-426614174000"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.connectionSettingsAll: + "": + parameters: + path: + unified_api: "crm" + service_id: "pipedrive" + resource: "leads" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "value": 123}, {"label": "General Channel", "value": true}], "value": true}, {"target": "custom_fields", "id": "ProductInterest", "options": [], "value": true}]}, {"resource": "leads", "defaults": []}, {"resource": "leads", "defaults": []}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}, {"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "created_at": 1615563533390, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}, {"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "updated_at": 1616662325753}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.connectionSettingsUpdate: + "": + parameters: + path: + service_id: "pipedrive" + unified_api: "crm" + resource: "leads" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + requestBody: + application/json: {"enabled": true, "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "configuration": [{"resource": "leads", "defaults": [{"id": "ProductInterest", "options": [{"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": 12.5}, {"label": "General Channel", "value": ["team", "general"]}]}], "value": "GC5000 series"}, {"id": "ProductInterest", "options": [{"label": "General Channel", "value": 123}, {"label": "General Channel", "value": "general"}, {"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": 123}, {"label": "General Channel", "value": 12.5}, {"label": "General Channel", "value": true}]}], "value": true}]}, {"resource": "leads", "defaults": [{"id": "ProductInterest", "options": [], "value": true}]}, {"resource": "leads", "defaults": [{"id": "ProductInterest", "options": [{"id": "1234", "label": "General Channel", "options": []}], "value": 10}, {"id": "ProductInterest", "options": [{"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": ["team", "general"]}, {"label": "General Channel", "value": true}, {"label": "General Channel", "value": 12.5}]}], "value": 10}, {"id": "ProductInterest", "options": [{"id": "1234", "label": "General Channel", "options": [{"label": "General Channel", "value": ["team", "general"]}, {"label": "General Channel", "value": "general"}]}, {"label": "General Channel", "value": 123}], "value": true}]}], "custom_mappings": []} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": []}, {"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [], "value": true}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "created_at": 1615563533390, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "updated_at": 1616662325753}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.customFieldsAll: + "": + parameters: + path: + unified_api: "crm" + service_id: "pipedrive" + resource: "leads" + query: + resource_id: "1234" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": [{"id": "123456", "name": "SSN", "description": "Employee Level", "value": "495172776"}, {"id": "123456", "name": "SSN", "description": "Employee Level", "value": "495172776"}, {"id": "123456", "name": "SSN", "description": "Employee Level", "value": "495172776"}]} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.connectionCustomMappingsAll: + "": + parameters: + path: + unified_api: "crm" + service_id: "pipedrive" + resource: "leads" + query: + resource_id: "1234" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}, {"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}, {"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}]} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.customMappingsAll: + "": + parameters: + path: + unified_api: "crm" + service_id: "pipedrive" + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}, {"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}, {"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}]} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.sessionsCreate: + "": + parameters: + header: + x-apideck-consumer-id: "test-consumer" + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + requestBody: + application/json: {"consumer_metadata": {"account_name": "SpaceX", "user_name": "Elon Musk", "email": "elon@musk.com", "image": "https://www.spacex.com/static/images/share.jpg"}, "redirect_uri": "https://mysaas.com/dashboard", "settings": {"unified_apis": ["crm"], "session_length": "30m"}, "theme": {"favicon": "https://res.cloudinary.com/apideck/icons/intercom", "logo": "https://res.cloudinary.com/apideck/icons/intercom", "primary_color": "#286efa", "sidepanel_background_color": "#286efa", "sidepanel_text_color": "#FFFFFF", "vault_name": "Intercom", "privacy_url": "https://compliance.apideck.com/privacy-policy", "terms_url": "https://www.termsfeed.com/terms-conditions/957c85c1b089ae9e3219c83eff65377e"}, "custom_consumer_settings": {"feature_flag_1": true, "tax_rates": [{"id": "6", "label": "6%"}, {"id": "21", "label": "21%"}]}} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"session_uri": "http://vault.apideck.com/session/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb25zdW1lcl9pZCI6InRlc3RfdXNlcl9pZCIsImFwcGxpY2F0aW9uX2lkIj", "session_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb25zdW1lcl9pZCI6InRlc3RfdXNlcl9pZCIsImFwcGxpY2F0aW9uX2lkIj"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + vault.logsAll: + "": + parameters: + query: + filter: {"connector_id": "crm+salesforce", "status_code": 201, "exclude_unified_apis": "vault,proxy"} + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + x-apideck-consumer-id: "test-consumer" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": [{"api_style": "REST", "base_url": "unify.apideck.com", "child_request": false, "consumer_id": "test-consumer", "duration": 2220.379304, "error_message": "Refresh token is invalid", "execution": 2248, "has_children": false, "http_method": "GET", "id": "0b5f7480-5550-4f5c-a5fc-3c01ac43dd0f", "latency": 27.620695999999953, "operation": {"id": "connectionsAll", "name": "Get All Connections"}, "parent_id": "0b5f7480-5550-4f5c-a5fc-3c01ac43dd0f", "path": "/vault/connections", "sandbox": false, "service": {"id": "apideck-vault", "name": "Apideck Vault"}, "source_ip": "94.227.131.238", "status_code": 200, "success": true, "timestamp": "2021-07-12T14:26:17.420Z", "unified_api": "vault"}, {"api_style": "REST", "base_url": "unify.apideck.com", "child_request": false, "consumer_id": "test-consumer", "duration": 2220.379304, "error_message": "Refresh token is invalid", "execution": 2248, "has_children": false, "http_method": "GET", "id": "0b5f7480-5550-4f5c-a5fc-3c01ac43dd0f", "latency": 27.620695999999953, "operation": {"id": "connectionsAll", "name": "Get All Connections"}, "parent_id": "0b5f7480-5550-4f5c-a5fc-3c01ac43dd0f", "path": "/vault/connections", "sandbox": false, "service": {"id": "apideck-vault", "name": "Apideck Vault"}, "source_ip": "94.227.131.238", "status_code": 200, "success": true, "timestamp": "2021-07-12T14:26:17.420Z", "unified_api": "vault"}, {"api_style": "REST", "base_url": "unify.apideck.com", "child_request": false, "consumer_id": "test-consumer", "duration": 2220.379304, "error_message": "Refresh token is invalid", "execution": 2248, "has_children": false, "http_method": "GET", "id": "0b5f7480-5550-4f5c-a5fc-3c01ac43dd0f", "latency": 27.620695999999953, "operation": {"id": "connectionsAll", "name": "Get All Connections"}, "parent_id": "0b5f7480-5550-4f5c-a5fc-3c01ac43dd0f", "path": "/vault/connections", "sandbox": false, "service": {"id": "apideck-vault", "name": "Apideck Vault"}, "source_ip": "94.227.131.238", "status_code": 200, "success": true, "timestamp": "2021-07-12T14:26:17.420Z", "unified_api": "vault"}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + webhook.webhooksAll: + "": + parameters: + query: {} + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": [{"id": "1234", "description": "A description", "unified_api": "crm", "status": "enabled", "disabled_reason": "retry_limit", "delivery_url": "https://example.com/my/webhook/endpoint", "execute_base_url": "https://unify.apideck.com/webhook/webhooks/1234/execute", "events": ["vault.connection.created", "vault.connection.updated"], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}, {"id": "1234", "description": "A description", "unified_api": "crm", "status": "enabled", "disabled_reason": "retry_limit", "delivery_url": "https://example.com/my/webhook/endpoint", "execute_base_url": "https://unify.apideck.com/webhook/webhooks/1234/execute", "events": ["vault.connection.created", "vault.connection.updated"], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}, {"id": "1234", "description": "A description", "unified_api": "crm", "status": "enabled", "disabled_reason": "retry_limit", "delivery_url": "https://example.com/my/webhook/endpoint", "execute_base_url": "https://unify.apideck.com/webhook/webhooks/1234/execute", "events": ["vault.connection.created", "vault.connection.updated"], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}], "meta": {"items_on_page": 50, "cursors": {"previous": "em9oby1jcm06OnBhZ2U6OjE=", "current": "em9oby1jcm06OnBhZ2U6OjI=", "next": "em9oby1jcm06OnBhZ2U6OjM="}}, "links": {"previous": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D", "current": "https://unify.apideck.com/crm/companies", "next": "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + webhook.webhooksAdd: + "": + parameters: + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + requestBody: + application/json: {"description": "A description", "unified_api": "crm", "status": "enabled", "delivery_url": "https://example.com/my/webhook/endpoint", "events": ["vault.connection.created", "vault.connection.updated"]} + responses: + "201": + application/json: {"status_code": 200, "status": "OK", "data": {"id": "1234", "description": "A description", "unified_api": "crm", "status": "enabled", "disabled_reason": "retry_limit", "delivery_url": "https://example.com/my/webhook/endpoint", "execute_base_url": "https://unify.apideck.com/webhook/webhooks/1234/execute", "events": ["vault.connection.created", "vault.connection.updated"], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": "Missing authentication", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + webhook.webhooksOne: + "": + parameters: + path: + id: "" + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"id": "1234", "description": "A description", "unified_api": "crm", "status": "enabled", "disabled_reason": "retry_limit", "delivery_url": "https://example.com/my/webhook/endpoint", "execute_base_url": "https://unify.apideck.com/webhook/webhooks/1234/execute", "events": ["vault.connection.created", "vault.connection.updated"], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": {"not_found": {"entity": "widget", "id": "123"}}, "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": {"error": "Unprocessable", "message": "Unprocessable request, please verify your request headers and body."}, "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": {"missing": [{"x-apideck-consumer-id": "required"}]}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + webhook.webhooksUpdate: + "": + parameters: + path: + id: "" + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + requestBody: + application/json: {"description": "A description", "status": "enabled", "delivery_url": "https://example.com/my/webhook/endpoint", "events": ["vault.connection.created", "vault.connection.updated"]} + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"id": "1234", "description": "A description", "unified_api": "crm", "status": "enabled", "disabled_reason": "retry_limit", "delivery_url": "https://example.com/my/webhook/endpoint", "execute_base_url": "https://unify.apideck.com/webhook/webhooks/1234/execute", "events": ["vault.connection.created", "vault.connection.updated"], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} + webhook.webhooksDelete: + "": + parameters: + path: + id: "" + header: + x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" + responses: + "200": + application/json: {"status_code": 200, "status": "OK", "data": {"id": "1234", "description": "A description", "unified_api": "crm", "status": "enabled", "disabled_reason": "retry_limit", "delivery_url": "https://example.com/my/webhook/endpoint", "execute_base_url": "https://unify.apideck.com/webhook/webhooks/1234/execute", "events": ["vault.connection.created", "vault.connection.updated"], "updated_at": "2020-09-30T07:43:32.000Z", "created_at": "2020-09-30T07:43:32.000Z"}} + "400": + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": {"missing": [{"foobar": "required"}]}, "ref": "https://developers.apideck.com/errors#requestvalidationerror"} + "401": + application/json: {"status_code": 401, "error": "Unauthorized", "type_name": "UnauthorizedError", "message": "Unauthorized Request", "detail": {"statusCode": 401, "error": "Unauthorized", "message": "Missing authentication"}, "ref": "https://developers.apideck.com/errors#unauthorizederror"} + "402": + application/json: {"status_code": 402, "error": "Payment Required", "type_name": "RequestLimitError", "message": "Request Limit Reached", "detail": "You have reached your limit of 2000", "ref": "https://developers.apideck.com/errors#requestlimiterror"} + "404": + application/json: {"status_code": 404, "error": "Not Found", "type_name": "EntityNotFoundError", "message": "Unknown Widget", "detail": "Could not find widget with id: '123'", "ref": "https://developers.apideck.com/errors#entitynotfounderror"} + "422": + application/json: {"status_code": 422, "error": "Unprocessable Entity", "type_name": "InvalidStateError", "message": "Invalid State", "detail": "Unprocessable request, please verify your request headers and body.", "ref": "https://developers.apideck.com/errors#invalidstateerror"} + default: + application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} +generatedTests: {} diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml new file mode 100644 index 00000000..c36f3018 --- /dev/null +++ b/.speakeasy/gen.yaml @@ -0,0 +1,42 @@ +configVersion: 2.0.0 +generation: + sdkClassName: Apideck + maintainOpenAPIOrder: true + usageSnippets: + optionalPropertyRendering: withExample + useClassNamesForArrayFields: true + fixes: + nameResolutionDec2023: true + parameterOrderingFeb2024: true + requestResponseComponentNamesFeb2024: true + auth: + oAuth2ClientCredentialsEnabled: true + oAuth2PasswordEnabled: true +csharp: + version: 0.0.4 + additionalDependencies: [] + author: Speakeasy + clientServerStatusCodesAsErrors: true + defaultErrorName: APIException + disableNamespacePascalCasingApr2024: true + dotnetVersion: net8.0 + enableSourceLink: true + flattenGlobalSecurity: true + flatteningOrder: parameters-first + imports: + option: openapi + paths: + callbacks: Models/Callbacks + errors: Models/Errors + operations: Models/Requests + shared: Models/Components + webhooks: Models/Webhooks + includeDebugSymbols: true + inputModelSuffix: input + maxMethodParams: 4 + methodArguments: infer-optional-args + outputModelSuffix: output + packageName: Apideck.Unify.SDK + packageTags: "" + responseFormat: envelope-http + sourceDirectory: src diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock new file mode 100644 index 00000000..28dacaea --- /dev/null +++ b/.speakeasy/workflow.lock @@ -0,0 +1,34 @@ +speakeasyVersion: 1.451.7 +sources: + Apideck: + sourceNamespace: apideck + sourceRevisionDigest: sha256:eee4902687bd6f052dda870a6a13fea3c97b0831d61a4b0c5aa45a5d62e25858 + sourceBlobDigest: sha256:fddd10690c80869d4e68901544c3e4259054ba9a99e1419a5695ee831fb8e538 + tags: + - latest + - 10.8.2 +targets: + apideck: + source: Apideck + sourceNamespace: apideck + sourceRevisionDigest: sha256:eee4902687bd6f052dda870a6a13fea3c97b0831d61a4b0c5aa45a5d62e25858 + sourceBlobDigest: sha256:fddd10690c80869d4e68901544c3e4259054ba9a99e1419a5695ee831fb8e538 + codeSamplesNamespace: apideck-csharp-code-samples + codeSamplesRevisionDigest: sha256:276772353605e5e0ad0868656363220a9971affc2cf6e35df9fae473d7c9a9e7 +workflow: + workflowVersion: 1.0.0 + speakeasyVersion: latest + sources: + Apideck: + inputs: + - location: https://ci-spec-unify.s3.eu-central-1.amazonaws.com/speakeasy-spec.yml + registry: + location: registry.speakeasyapi.dev/apideck-k2o/apideck/apideck + targets: + apideck: + target: csharp + source: Apideck + codeSamples: + registry: + location: registry.speakeasyapi.dev/apideck-k2o/apideck/apideck-csharp-code-samples + blocking: false diff --git a/.speakeasy/workflow.yaml b/.speakeasy/workflow.yaml new file mode 100644 index 00000000..af1259e2 --- /dev/null +++ b/.speakeasy/workflow.yaml @@ -0,0 +1,19 @@ +workflowVersion: 1.0.0 +speakeasyVersion: latest +sources: + Apideck: + inputs: + - location: https://ci-spec-unify.s3.eu-central-1.amazonaws.com/speakeasy-spec.yml + registry: + location: registry.speakeasyapi.dev/apideck-k2o/apideck/apideck +targets: + apideck: + target: csharp + source: Apideck + publish: + nuget: + apiKey: $nuget_api_key + codeSamples: + registry: + location: registry.speakeasyapi.dev/apideck-k2o/apideck/apideck-csharp-code-samples + blocking: false diff --git a/Apideck.Unify.SDK.sln b/Apideck.Unify.SDK.sln new file mode 100644 index 00000000..d49849f7 --- /dev/null +++ b/Apideck.Unify.SDK.sln @@ -0,0 +1,17 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apideck.Unify.SDK", "src\Apideck\Unify\SDK\Apideck.Unify.SDK.csproj", "{F0CE92B5-F3CC-45A2-AA83-118C38724EB1}" +EndProject + +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F0CE92B5-F3CC-45A2-AA83-118C38724EB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F0CE92B5-F3CC-45A2-AA83-118C38724EB1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F0CE92B5-F3CC-45A2-AA83-118C38724EB1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F0CE92B5-F3CC-45A2-AA83-118C38724EB1}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..d585717f --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# Contributing to This Repository + +Thank you for your interest in contributing to this repository. Please note that this repository contains generated code. As such, we do not accept direct changes or pull requests. Instead, we encourage you to follow the guidelines below to report issues and suggest improvements. + +## How to Report Issues + +If you encounter any bugs or have suggestions for improvements, please open an issue on GitHub. When reporting an issue, please provide as much detail as possible to help us reproduce the problem. This includes: + +- A clear and descriptive title +- Steps to reproduce the issue +- Expected and actual behavior +- Any relevant logs, screenshots, or error messages +- Information about your environment (e.g., operating system, software versions) + - For example can be collected using the `npx envinfo` command from your terminal if you have Node.js installed + +## Issue Triage and Upstream Fixes + +We will review and triage issues as quickly as possible. Our goal is to address bugs and incorporate improvements in the upstream source code. Fixes will be included in the next generation of the generated code. + +## Contact + +If you have any questions or need further assistance, please feel free to reach out by opening an issue. + +Thank you for your understanding and cooperation! + +The Maintainers diff --git a/README.md b/README.md new file mode 100644 index 00000000..825f71f0 --- /dev/null +++ b/README.md @@ -0,0 +1,951 @@ +# Apideck.Unify.SDK + +Developer-friendly & type-safe Csharp SDK specifically catered to leverage *Apideck.Unify.SDK* API. + +
+ + + + +
+ + +

+> [!IMPORTANT] +> This SDK is not yet ready for production use. To complete setup please follow the steps outlined in your [workspace](https://app.speakeasy.com/org/apideck-k2o/apideck). Delete this section before > publishing to a package manager. + + +## Summary + +Apideck: The Apideck OpenAPI Spec: SDK Optimized + +For more information about the API: [Apideck Developer Docs](https://developers.apideck.com) + + + +## Table of Contents + +* [Apideck.Unify.SDK](#apideckunifysdk) + * [SDK Installation](#sdk-installation) + * [SDK Example Usage](#sdk-example-usage) + * [Authentication](#authentication) + * [Available Resources and Operations](#available-resources-and-operations) + * [Retries](#retries) + * [Error Handling](#error-handling) + * [Server Selection](#server-selection) +* [Development](#development) + * [Maturity](#maturity) + * [Contributions](#contributions) + + + + +## SDK Installation + +To add a reference to a local instance of the SDK in a .NET project: +```bash +dotnet add reference src/Apideck/Unify/SDK/Apideck.Unify.SDK.csproj +``` + + + +## SDK Example Usage + +### Example + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTaxRatesAllRequest req = new AccountingTaxRatesAllRequest() { + ServiceId = "salesforce", + Filter = new TaxRatesFilter() { + Assets = true, + Equity = true, + Expenses = true, + Liabilities = true, + Revenue = true, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.TaxRates.ListAsync(req); + +// handle response +``` + + + +## Authentication + +### Per-Client Security Schemes + +This SDK supports the following security scheme globally: + +| Name | Type | Scheme | +| -------- | ------ | ------- | +| `ApiKey` | apiKey | API key | + +To authenticate with the API the `ApiKey` parameter must be set when initializing the SDK client instance. For example: +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTaxRatesAllRequest req = new AccountingTaxRatesAllRequest() { + ServiceId = "salesforce", + Filter = new TaxRatesFilter() { + Assets = true, + Equity = true, + Expenses = true, + Liabilities = true, + Revenue = true, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.TaxRates.ListAsync(req); + +// handle response +``` + + + +## Available Resources and Operations + +
+Available methods + +### [Accounting](docs/sdks/accounting/README.md) + + +#### [Accounting.Attachments](docs/sdks/attachments/README.md) + +* [List](docs/sdks/attachments/README.md#list) - List Attachments +* [Get](docs/sdks/attachments/README.md#get) - Get Attachment +* [Delete](docs/sdks/attachments/README.md#delete) - Delete Attachment +* [Download](docs/sdks/attachments/README.md#download) - Download Attachment + +#### [Accounting.BalanceSheet](docs/sdks/balancesheet/README.md) + +* [Get](docs/sdks/balancesheet/README.md#get) - Get BalanceSheet + +#### [Accounting.BillPayments](docs/sdks/billpayments/README.md) + +* [List](docs/sdks/billpayments/README.md#list) - List Bill Payments +* [Create](docs/sdks/billpayments/README.md#create) - Create Bill Payment +* [Get](docs/sdks/billpayments/README.md#get) - Get Bill Payment +* [Update](docs/sdks/billpayments/README.md#update) - Update Bill Payment +* [Delete](docs/sdks/billpayments/README.md#delete) - Delete Bill Payment + +#### [Accounting.Bills](docs/sdks/bills/README.md) + +* [List](docs/sdks/bills/README.md#list) - List Bills +* [Create](docs/sdks/bills/README.md#create) - Create Bill +* [Get](docs/sdks/bills/README.md#get) - Get Bill +* [Update](docs/sdks/bills/README.md#update) - Update Bill +* [Delete](docs/sdks/bills/README.md#delete) - Delete Bill + +#### [Accounting.CompanyInfo](docs/sdks/companyinfo/README.md) + +* [Get](docs/sdks/companyinfo/README.md#get) - Get company info + +#### [Accounting.CreditNotes](docs/sdks/creditnotes/README.md) + +* [List](docs/sdks/creditnotes/README.md#list) - List Credit Notes +* [Create](docs/sdks/creditnotes/README.md#create) - Create Credit Note +* [Get](docs/sdks/creditnotes/README.md#get) - Get Credit Note +* [Update](docs/sdks/creditnotes/README.md#update) - Update Credit Note +* [Delete](docs/sdks/creditnotes/README.md#delete) - Delete Credit Note + +#### [Accounting.Customers](docs/sdks/customers/README.md) + +* [List](docs/sdks/customers/README.md#list) - List Customers +* [Create](docs/sdks/customers/README.md#create) - Create Customer +* [Get](docs/sdks/customers/README.md#get) - Get Customer +* [Update](docs/sdks/customers/README.md#update) - Update Customer +* [Delete](docs/sdks/customers/README.md#delete) - Delete Customer + +#### [Accounting.Departments](docs/sdks/departments/README.md) + +* [List](docs/sdks/departments/README.md#list) - List Departments +* [Create](docs/sdks/departments/README.md#create) - Create Department +* [Get](docs/sdks/departments/README.md#get) - Get Department +* [Update](docs/sdks/departments/README.md#update) - Update Department +* [Delete](docs/sdks/departments/README.md#delete) - Delete Department + +#### [Accounting.Expenses](docs/sdks/expenses/README.md) + +* [List](docs/sdks/expenses/README.md#list) - List Expenses +* [Create](docs/sdks/expenses/README.md#create) - Create Expense +* [Get](docs/sdks/expenses/README.md#get) - Get Expense +* [Update](docs/sdks/expenses/README.md#update) - Update Expense +* [Delete](docs/sdks/expenses/README.md#delete) - Delete Expense + +#### [Accounting.InvoiceItems](docs/sdks/invoiceitems/README.md) + +* [List](docs/sdks/invoiceitems/README.md#list) - List Invoice Items +* [Create](docs/sdks/invoiceitems/README.md#create) - Create Invoice Item +* [Get](docs/sdks/invoiceitems/README.md#get) - Get Invoice Item +* [Update](docs/sdks/invoiceitems/README.md#update) - Update Invoice Item +* [Delete](docs/sdks/invoiceitems/README.md#delete) - Delete Invoice Item + +#### [Accounting.Invoices](docs/sdks/invoices/README.md) + +* [List](docs/sdks/invoices/README.md#list) - List Invoices +* [Create](docs/sdks/invoices/README.md#create) - Create Invoice +* [Get](docs/sdks/invoices/README.md#get) - Get Invoice +* [Update](docs/sdks/invoices/README.md#update) - Update Invoice +* [Delete](docs/sdks/invoices/README.md#delete) - Delete Invoice + +#### [Accounting.JournalEntries](docs/sdks/journalentries/README.md) + +* [List](docs/sdks/journalentries/README.md#list) - List Journal Entries +* [Create](docs/sdks/journalentries/README.md#create) - Create Journal Entry +* [Get](docs/sdks/journalentries/README.md#get) - Get Journal Entry +* [Update](docs/sdks/journalentries/README.md#update) - Update Journal Entry +* [Delete](docs/sdks/journalentries/README.md#delete) - Delete Journal Entry + +#### [Accounting.LedgerAccounts](docs/sdks/ledgeraccounts/README.md) + +* [List](docs/sdks/ledgeraccounts/README.md#list) - List Ledger Accounts +* [Create](docs/sdks/ledgeraccounts/README.md#create) - Create Ledger Account +* [Get](docs/sdks/ledgeraccounts/README.md#get) - Get Ledger Account +* [Update](docs/sdks/ledgeraccounts/README.md#update) - Update Ledger Account +* [Delete](docs/sdks/ledgeraccounts/README.md#delete) - Delete Ledger Account + +#### [Accounting.Locations](docs/sdks/locations/README.md) + +* [List](docs/sdks/locations/README.md#list) - List Locations +* [Create](docs/sdks/locations/README.md#create) - Create Location +* [Get](docs/sdks/locations/README.md#get) - Get Location +* [Update](docs/sdks/locations/README.md#update) - Update Location +* [Delete](docs/sdks/locations/README.md#delete) - Delete Location + +#### [Accounting.Payments](docs/sdks/payments/README.md) + +* [List](docs/sdks/payments/README.md#list) - List Payments +* [Create](docs/sdks/payments/README.md#create) - Create Payment +* [Get](docs/sdks/payments/README.md#get) - Get Payment +* [Update](docs/sdks/payments/README.md#update) - Update Payment +* [Delete](docs/sdks/payments/README.md#delete) - Delete Payment + +#### [Accounting.ProfitAndLoss](docs/sdks/profitandloss/README.md) + +* [Get](docs/sdks/profitandloss/README.md#get) - Get Profit and Loss + +#### [Accounting.PurchaseOrders](docs/sdks/purchaseorders/README.md) + +* [List](docs/sdks/purchaseorders/README.md#list) - List Purchase Orders +* [Create](docs/sdks/purchaseorders/README.md#create) - Create Purchase Order +* [Get](docs/sdks/purchaseorders/README.md#get) - Get Purchase Order +* [Update](docs/sdks/purchaseorders/README.md#update) - Update Purchase Order +* [Delete](docs/sdks/purchaseorders/README.md#delete) - Delete Purchase Order + +#### [Accounting.Subsidiaries](docs/sdks/subsidiaries/README.md) + +* [List](docs/sdks/subsidiaries/README.md#list) - List Subsidiaries +* [Create](docs/sdks/subsidiaries/README.md#create) - Create Subsidiary +* [Get](docs/sdks/subsidiaries/README.md#get) - Get Subsidiary +* [Update](docs/sdks/subsidiaries/README.md#update) - Update Subsidiary +* [Delete](docs/sdks/subsidiaries/README.md#delete) - Delete Subsidiary + +#### [Accounting.Suppliers](docs/sdks/suppliers/README.md) + +* [List](docs/sdks/suppliers/README.md#list) - List Suppliers +* [Create](docs/sdks/suppliers/README.md#create) - Create Supplier +* [Get](docs/sdks/suppliers/README.md#get) - Get Supplier +* [Update](docs/sdks/suppliers/README.md#update) - Update Supplier +* [Delete](docs/sdks/suppliers/README.md#delete) - Delete Supplier + +#### [Accounting.TaxRates](docs/sdks/taxrates/README.md) + +* [List](docs/sdks/taxrates/README.md#list) - List Tax Rates +* [Create](docs/sdks/taxrates/README.md#create) - Create Tax Rate +* [Get](docs/sdks/taxrates/README.md#get) - Get Tax Rate +* [Update](docs/sdks/taxrates/README.md#update) - Update Tax Rate +* [Delete](docs/sdks/taxrates/README.md#delete) - Delete Tax Rate + +#### [Accounting.TrackingCategories](docs/sdks/trackingcategories/README.md) + +* [List](docs/sdks/trackingcategories/README.md#list) - List Tracking Categories +* [Create](docs/sdks/trackingcategories/README.md#create) - Create Tracking Category +* [Get](docs/sdks/trackingcategories/README.md#get) - Get Tracking Category +* [Update](docs/sdks/trackingcategories/README.md#update) - Update Tracking Category +* [Delete](docs/sdks/trackingcategories/README.md#delete) - Delete Tracking Category + + +### [Ats](docs/sdks/ats/README.md) + + +#### [Ats.Applicants](docs/sdks/applicants/README.md) + +* [List](docs/sdks/applicants/README.md#list) - List Applicants +* [Create](docs/sdks/applicants/README.md#create) - Create Applicant +* [Get](docs/sdks/applicants/README.md#get) - Get Applicant +* [Update](docs/sdks/applicants/README.md#update) - Update Applicant +* [Delete](docs/sdks/applicants/README.md#delete) - Delete Applicant + +#### [Ats.Applications](docs/sdks/applications/README.md) + +* [List](docs/sdks/applications/README.md#list) - List Applications +* [Create](docs/sdks/applications/README.md#create) - Create Application +* [Get](docs/sdks/applications/README.md#get) - Get Application +* [Update](docs/sdks/applications/README.md#update) - Update Application +* [Delete](docs/sdks/applications/README.md#delete) - Delete Application + +#### [Ats.Jobs](docs/sdks/jobs/README.md) + +* [List](docs/sdks/jobs/README.md#list) - List Jobs +* [Get](docs/sdks/jobs/README.md#get) - Get Job + +### [Connector](docs/sdks/connector/README.md) + + +#### [Connector.ApiResourceCoverage](docs/sdks/apiresourcecoverage/README.md) + +* [Get](docs/sdks/apiresourcecoverage/README.md#get) - Get API Resource Coverage + +#### [Connector.ApiResources](docs/sdks/apiresources/README.md) + +* [Get](docs/sdks/apiresources/README.md#get) - Get API Resource + +#### [Connector.Apis](docs/sdks/apis/README.md) + +* [List](docs/sdks/apis/README.md#list) - List APIs +* [Get](docs/sdks/apis/README.md#get) - Get API + +#### [Connector.ConnectorDocs](docs/sdks/connectordocs/README.md) + +* [Get](docs/sdks/connectordocs/README.md#get) - Get Connector Doc content + +#### [Connector.ConnectorResources](docs/sdks/connectorresources/README.md) + +* [Get](docs/sdks/connectorresources/README.md#get) - Get Connector Resource + +#### [Connector.Connectors](docs/sdks/connectors/README.md) + +* [List](docs/sdks/connectors/README.md#list) - List Connectors +* [Get](docs/sdks/connectors/README.md#get) - Get Connector + +### [Crm](docs/sdks/crm/README.md) + + +#### [Crm.Activities](docs/sdks/activities/README.md) + +* [List](docs/sdks/activities/README.md#list) - List activities +* [Create](docs/sdks/activities/README.md#create) - Create activity +* [Get](docs/sdks/activities/README.md#get) - Get activity +* [Update](docs/sdks/activities/README.md#update) - Update activity +* [Delete](docs/sdks/activities/README.md#delete) - Delete activity + +#### [Crm.Companies](docs/sdks/companies/README.md) + +* [List](docs/sdks/companies/README.md#list) - List companies +* [Create](docs/sdks/companies/README.md#create) - Create company +* [Get](docs/sdks/companies/README.md#get) - Get company +* [Update](docs/sdks/companies/README.md#update) - Update company +* [Delete](docs/sdks/companies/README.md#delete) - Delete company + +#### [Crm.Contacts](docs/sdks/contacts/README.md) + +* [List](docs/sdks/contacts/README.md#list) - List contacts +* [Create](docs/sdks/contacts/README.md#create) - Create contact +* [Get](docs/sdks/contacts/README.md#get) - Get contact +* [Update](docs/sdks/contacts/README.md#update) - Update contact +* [Delete](docs/sdks/contacts/README.md#delete) - Delete contact + +#### [Crm.Leads](docs/sdks/leads/README.md) + +* [List](docs/sdks/leads/README.md#list) - List leads +* [Create](docs/sdks/leads/README.md#create) - Create lead +* [Get](docs/sdks/leads/README.md#get) - Get lead +* [Update](docs/sdks/leads/README.md#update) - Update lead +* [Delete](docs/sdks/leads/README.md#delete) - Delete lead + +#### [Crm.Notes](docs/sdks/notes/README.md) + +* [List](docs/sdks/notes/README.md#list) - List notes +* [Create](docs/sdks/notes/README.md#create) - Create note +* [Get](docs/sdks/notes/README.md#get) - Get note +* [Update](docs/sdks/notes/README.md#update) - Update note +* [Delete](docs/sdks/notes/README.md#delete) - Delete note + +#### [Crm.Opportunities](docs/sdks/opportunities/README.md) + +* [List](docs/sdks/opportunities/README.md#list) - List opportunities +* [Create](docs/sdks/opportunities/README.md#create) - Create opportunity +* [Get](docs/sdks/opportunities/README.md#get) - Get opportunity +* [Update](docs/sdks/opportunities/README.md#update) - Update opportunity +* [Delete](docs/sdks/opportunities/README.md#delete) - Delete opportunity + +#### [Crm.Pipelines](docs/sdks/pipelines/README.md) + +* [List](docs/sdks/pipelines/README.md#list) - List pipelines +* [Create](docs/sdks/pipelines/README.md#create) - Create pipeline +* [Get](docs/sdks/pipelines/README.md#get) - Get pipeline +* [Update](docs/sdks/pipelines/README.md#update) - Update pipeline +* [Delete](docs/sdks/pipelines/README.md#delete) - Delete pipeline + +#### [Crm.Users](docs/sdks/users/README.md) + +* [List](docs/sdks/users/README.md#list) - List users +* [Create](docs/sdks/users/README.md#create) - Create user +* [Get](docs/sdks/users/README.md#get) - Get user +* [Update](docs/sdks/users/README.md#update) - Update user +* [Delete](docs/sdks/users/README.md#delete) - Delete user + +### [Ecommerce](docs/sdks/ecommerce/README.md) + + +#### [Ecommerce.Customers](docs/sdks/apideckcustomers/README.md) + +* [List](docs/sdks/apideckcustomers/README.md#list) - List Customers +* [Get](docs/sdks/apideckcustomers/README.md#get) - Get Customer + +#### [Ecommerce.Orders](docs/sdks/orders/README.md) + +* [List](docs/sdks/orders/README.md#list) - List Orders +* [Get](docs/sdks/orders/README.md#get) - Get Order + +#### [Ecommerce.Products](docs/sdks/products/README.md) + +* [List](docs/sdks/products/README.md#list) - List Products +* [Get](docs/sdks/products/README.md#get) - Get Product + +#### [Ecommerce.Stores](docs/sdks/stores/README.md) + +* [Get](docs/sdks/stores/README.md#get) - Get Store + +### [FileStorage](docs/sdks/filestorage/README.md) + + +#### [FileStorage.DriveGroups](docs/sdks/drivegroups/README.md) + +* [List](docs/sdks/drivegroups/README.md#list) - List DriveGroups +* [Create](docs/sdks/drivegroups/README.md#create) - Create DriveGroup +* [Get](docs/sdks/drivegroups/README.md#get) - Get DriveGroup +* [Update](docs/sdks/drivegroups/README.md#update) - Update DriveGroup +* [Delete](docs/sdks/drivegroups/README.md#delete) - Delete DriveGroup + +#### [FileStorage.Drives](docs/sdks/drives/README.md) + +* [List](docs/sdks/drives/README.md#list) - List Drives +* [Create](docs/sdks/drives/README.md#create) - Create Drive +* [Get](docs/sdks/drives/README.md#get) - Get Drive +* [Update](docs/sdks/drives/README.md#update) - Update Drive +* [Delete](docs/sdks/drives/README.md#delete) - Delete Drive + +#### [FileStorage.Files](docs/sdks/files/README.md) + +* [List](docs/sdks/files/README.md#list) - List Files +* [Search](docs/sdks/files/README.md#search) - Search Files +* [Get](docs/sdks/files/README.md#get) - Get File +* [Update](docs/sdks/files/README.md#update) - Rename or move File +* [Delete](docs/sdks/files/README.md#delete) - Delete File +* [Download](docs/sdks/files/README.md#download) - Download File +* [Export](docs/sdks/files/README.md#export) - Export File + +#### [FileStorage.Folders](docs/sdks/folders/README.md) + +* [Create](docs/sdks/folders/README.md#create) - Create Folder +* [Get](docs/sdks/folders/README.md#get) - Get Folder +* [Update](docs/sdks/folders/README.md#update) - Rename or move Folder +* [Delete](docs/sdks/folders/README.md#delete) - Delete Folder +* [Copy](docs/sdks/folders/README.md#copy) - Copy Folder + +#### [FileStorage.SharedLinks](docs/sdks/sharedlinks/README.md) + +* [List](docs/sdks/sharedlinks/README.md#list) - List SharedLinks +* [Create](docs/sdks/sharedlinks/README.md#create) - Create Shared Link +* [Get](docs/sdks/sharedlinks/README.md#get) - Get Shared Link +* [Update](docs/sdks/sharedlinks/README.md#update) - Update Shared Link +* [Delete](docs/sdks/sharedlinks/README.md#delete) - Delete Shared Link + +#### [FileStorage.UploadSessions](docs/sdks/uploadsessions/README.md) + +* [Create](docs/sdks/uploadsessions/README.md#create) - Start Upload Session +* [Get](docs/sdks/uploadsessions/README.md#get) - Get Upload Session +* [Delete](docs/sdks/uploadsessions/README.md#delete) - Abort Upload Session +* [Finish](docs/sdks/uploadsessions/README.md#finish) - Finish Upload Session + +### [Hris](docs/sdks/hris/README.md) + + +#### [Hris.Companies](docs/sdks/apideckcompanies/README.md) + +* [List](docs/sdks/apideckcompanies/README.md#list) - List Companies +* [Create](docs/sdks/apideckcompanies/README.md#create) - Create Company +* [Get](docs/sdks/apideckcompanies/README.md#get) - Get Company +* [Update](docs/sdks/apideckcompanies/README.md#update) - Update Company +* [Delete](docs/sdks/apideckcompanies/README.md#delete) - Delete Company + +#### [Hris.Departments](docs/sdks/apideckdepartments/README.md) + +* [List](docs/sdks/apideckdepartments/README.md#list) - List Departments +* [Create](docs/sdks/apideckdepartments/README.md#create) - Create Department +* [Get](docs/sdks/apideckdepartments/README.md#get) - Get Department +* [Update](docs/sdks/apideckdepartments/README.md#update) - Update Department +* [Delete](docs/sdks/apideckdepartments/README.md#delete) - Delete Department + +#### [Hris.EmployeePayrolls](docs/sdks/employeepayrolls/README.md) + +* [List](docs/sdks/employeepayrolls/README.md#list) - List Employee Payrolls +* [Get](docs/sdks/employeepayrolls/README.md#get) - Get Employee Payroll + +#### [Hris.Employees](docs/sdks/employees/README.md) + +* [List](docs/sdks/employees/README.md#list) - List Employees +* [Create](docs/sdks/employees/README.md#create) - Create Employee +* [Get](docs/sdks/employees/README.md#get) - Get Employee +* [Update](docs/sdks/employees/README.md#update) - Update Employee +* [Delete](docs/sdks/employees/README.md#delete) - Delete Employee + +#### [Hris.EmployeeSchedules](docs/sdks/employeeschedules/README.md) + +* [List](docs/sdks/employeeschedules/README.md#list) - List Employee Schedules + +#### [Hris.Payrolls](docs/sdks/payrolls/README.md) + +* [List](docs/sdks/payrolls/README.md#list) - List Payroll +* [Get](docs/sdks/payrolls/README.md#get) - Get Payroll + +#### [Hris.TimeOffRequests](docs/sdks/timeoffrequests/README.md) + +* [List](docs/sdks/timeoffrequests/README.md#list) - List Time Off Requests +* [Create](docs/sdks/timeoffrequests/README.md#create) - Create Time Off Request +* [Get](docs/sdks/timeoffrequests/README.md#get) - Get Time Off Request +* [Update](docs/sdks/timeoffrequests/README.md#update) - Update Time Off Request +* [Delete](docs/sdks/timeoffrequests/README.md#delete) - Delete Time Off Request + +### [IssueTracking](docs/sdks/issuetracking/README.md) + + +#### [IssueTracking.Collections](docs/sdks/collections/README.md) + +* [List](docs/sdks/collections/README.md#list) - List Collections +* [Get](docs/sdks/collections/README.md#get) - Get Collection + +#### [IssueTracking.CollectionTags](docs/sdks/collectiontags/README.md) + +* [List](docs/sdks/collectiontags/README.md#list) - List Tags + +#### [IssueTracking.CollectionTicketComments](docs/sdks/collectionticketcomments/README.md) + +* [List](docs/sdks/collectionticketcomments/README.md#list) - List Comments +* [Create](docs/sdks/collectionticketcomments/README.md#create) - Create Comment +* [Get](docs/sdks/collectionticketcomments/README.md#get) - Get Comment +* [Update](docs/sdks/collectionticketcomments/README.md#update) - Update Comment +* [Delete](docs/sdks/collectionticketcomments/README.md#delete) - Delete Comment + +#### [IssueTracking.CollectionTickets](docs/sdks/collectiontickets/README.md) + +* [List](docs/sdks/collectiontickets/README.md#list) - List Tickets +* [Create](docs/sdks/collectiontickets/README.md#create) - Create Ticket +* [Get](docs/sdks/collectiontickets/README.md#get) - Get Ticket +* [Update](docs/sdks/collectiontickets/README.md#update) - Update Ticket +* [Delete](docs/sdks/collectiontickets/README.md#delete) - Delete Ticket + +#### [IssueTracking.CollectionUsers](docs/sdks/collectionusers/README.md) + +* [List](docs/sdks/collectionusers/README.md#list) - List Users +* [Get](docs/sdks/collectionusers/README.md#get) - Get user + +### [Sms](docs/sdks/sms/README.md) + + +#### [Sms.Messages](docs/sdks/messages/README.md) + +* [List](docs/sdks/messages/README.md#list) - List Messages +* [Create](docs/sdks/messages/README.md#create) - Create Message +* [Get](docs/sdks/messages/README.md#get) - Get Message +* [Update](docs/sdks/messages/README.md#update) - Update Message +* [Delete](docs/sdks/messages/README.md#delete) - Delete Message + +### [Vault](docs/sdks/vault/README.md) + + +#### [Vault.ConnectionCustomMappings](docs/sdks/connectioncustommappings/README.md) + +* [List](docs/sdks/connectioncustommappings/README.md#list) - List connection custom mappings + +#### [Vault.Connections](docs/sdks/connections/README.md) + +* [List](docs/sdks/connections/README.md#list) - Get all connections +* [Get](docs/sdks/connections/README.md#get) - Get connection +* [Update](docs/sdks/connections/README.md#update) - Update connection +* [Delete](docs/sdks/connections/README.md#delete) - Deletes a connection +* [Imports](docs/sdks/connections/README.md#imports) - Import connection +* [Token](docs/sdks/connections/README.md#token) - Authorize Access Token + +#### [Vault.ConnectionSettings](docs/sdks/connectionsettings/README.md) + +* [List](docs/sdks/connectionsettings/README.md#list) - Get resource settings +* [Update](docs/sdks/connectionsettings/README.md#update) - Update settings + +#### [Vault.ConsumerRequestCounts](docs/sdks/consumerrequestcounts/README.md) + +* [List](docs/sdks/consumerrequestcounts/README.md#list) - Consumer request counts + +#### [Vault.Consumers](docs/sdks/consumers/README.md) + +* [Create](docs/sdks/consumers/README.md#create) - Create consumer +* [List](docs/sdks/consumers/README.md#list) - Get all consumers +* [Get](docs/sdks/consumers/README.md#get) - Get consumer +* [Update](docs/sdks/consumers/README.md#update) - Update consumer +* [Delete](docs/sdks/consumers/README.md#delete) - Delete consumer + +#### [Vault.CreateCallback](docs/sdks/createcallback/README.md) + +* [State](docs/sdks/createcallback/README.md#state) - Create Callback State + +#### [Vault.CustomFields](docs/sdks/customfields/README.md) + +* [List](docs/sdks/customfields/README.md#list) - Get resource custom fields + +#### [Vault.CustomMappings](docs/sdks/custommappings/README.md) + +* [List](docs/sdks/custommappings/README.md#list) - List custom mappings + +#### [Vault.Logs](docs/sdks/logs/README.md) + +* [List](docs/sdks/logs/README.md#list) - Get all consumer request logs + +#### [Vault.Sessions](docs/sdks/sessions/README.md) + +* [Create](docs/sdks/sessions/README.md#create) - Create Session + +#### [Vault.ValidateConnection](docs/sdks/validateconnection/README.md) + +* [State](docs/sdks/validateconnection/README.md#state) - Validate Connection State + +### [Webhook](docs/sdks/webhook/README.md) + + +#### [Webhook.Webhooks](docs/sdks/webhooks/README.md) + +* [List](docs/sdks/webhooks/README.md#list) - List webhook subscriptions +* [Create](docs/sdks/webhooks/README.md#create) - Create webhook subscription +* [Get](docs/sdks/webhooks/README.md#get) - Get webhook subscription +* [Update](docs/sdks/webhooks/README.md#update) - Update webhook subscription +* [Delete](docs/sdks/webhooks/README.md#delete) - Delete webhook subscription + +
+ + + +## Retries + +Some of the endpoints in this SDK support retries. If you use the SDK without any configuration, it will fall back to the default retry strategy provided by the API. However, the default retry strategy can be overridden on a per-operation basis, or across the entire SDK. + +To change the default retry strategy for a single API call, simply pass a `RetryConfig` to the call: +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTaxRatesAllRequest req = new AccountingTaxRatesAllRequest() { + ServiceId = "salesforce", + Filter = new TaxRatesFilter() { + Assets = true, + Equity = true, + Expenses = true, + Liabilities = true, + Revenue = true, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.TaxRates.ListAsync( + retryConfig: new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: new BackoffStrategy( + initialIntervalMs: 1L, + maxIntervalMs: 50L, + maxElapsedTimeMs: 100L, + exponent: 1.1 + ), + retryConnectionErrors: false + ), + req +); + +// handle response +``` + +If you'd like to override the default retry strategy for all operations that support retries, you can use the `RetryConfig` optional parameter when intitializing the SDK: +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + retryConfig: new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: new BackoffStrategy( + initialIntervalMs: 1L, + maxIntervalMs: 50L, + maxElapsedTimeMs: 100L, + exponent: 1.1 + ), + retryConnectionErrors: false + ), + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTaxRatesAllRequest req = new AccountingTaxRatesAllRequest() { + ServiceId = "salesforce", + Filter = new TaxRatesFilter() { + Assets = true, + Equity = true, + Expenses = true, + Liabilities = true, + Revenue = true, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.TaxRates.ListAsync(req); + +// handle response +``` + + + +## Error Handling + +Handling errors in this SDK should largely match your expectations. All operations return a response object or throw an exception. + +By default, an API error will raise a `Apideck.Unify.SDK.Models.Errors.APIException` exception, which has the following properties: + +| Property | Type | Description | +|---------------|-----------------------|-----------------------| +| `Message` | *string* | The error message | +| `Request` | *HttpRequestMessage* | The HTTP request | +| `Response` | *HttpResponseMessage* | The HTTP response | + +When custom error responses are specified for an operation, the SDK may also throw their associated exceptions. You can refer to respective *Errors* tables in SDK docs for more details on possible exception types for each operation. For example, the `ListAsync` method throws the following exceptions: + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ----------- | ---------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +### Example + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; +using System; +using Apideck.Unify.SDK.Models.Errors; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +try +{ + AccountingTaxRatesAllRequest req = new AccountingTaxRatesAllRequest() { + ServiceId = "salesforce", + Filter = new TaxRatesFilter() { + Assets = true, + Equity = true, + Expenses = true, + Liabilities = true, + Revenue = true, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", + }; + + var res = await sdk.Accounting.TaxRates.ListAsync(req); + + // handle response +} +catch (Exception ex) +{ + if (ex is BadRequestResponse) + { + // Handle exception data + throw; + } + else if (ex is UnauthorizedResponse) + { + // Handle exception data + throw; + } + else if (ex is PaymentRequiredResponse) + { + // Handle exception data + throw; + } + else if (ex is NotFoundResponse) + { + // Handle exception data + throw; + } + else if (ex is UnprocessableResponse) + { + // Handle exception data + throw; + } + else if (ex is Apideck.Unify.SDK.Models.Errors.APIException) + { + // Handle default exception + throw; + } +} +``` + + + +## Server Selection + +### Override Server URL Per-Client + +The default server can also be overridden globally by passing a URL to the `serverUrl: string` optional parameter when initializing the SDK client instance. For example: +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + serverUrl: "https://unify.apideck.com", + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTaxRatesAllRequest req = new AccountingTaxRatesAllRequest() { + ServiceId = "salesforce", + Filter = new TaxRatesFilter() { + Assets = true, + Equity = true, + Expenses = true, + Liabilities = true, + Revenue = true, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.TaxRates.ListAsync(req); + +// handle response +``` + +### Override Server URL Per-Operation + +The server URL can also be overridden on a per-operation basis, provided a server list was specified for the operation. For example: +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageUploadSessionsAddRequest req = new FileStorageUploadSessionsAddRequest() { + CreateUploadSessionRequest = new CreateUploadSessionRequest() { + Name = "Documents", + ParentFolderId = "1234", + DriveId = "1234", + Size = 1810673, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.UploadSessions.CreateAsync( + req, + serverUrl: "https://upload.apideck.com" +); + +// handle response +``` + + + + +# Development + +## Maturity + +This SDK is in beta, and there may be breaking changes between versions without a major version update. Therefore, we recommend pinning usage +to a specific package version. This way, you can install the same version each time without breaking changes unless you are intentionally +looking for the latest version. + +## Contributions + +While we value open-source contributions to this SDK, this library is generated programmatically. Any manual changes added to internal files will be overwritten on the next generation. +We look forward to hearing your feedback. Feel free to open a PR or an issue with a proof of concept and we'll do our best to include it in a future release. + +### SDK Created by [Speakeasy](https://www.speakeasy.com/?utm_source=apideck-unify-sdk&utm_campaign=csharp) diff --git a/USAGE.md b/USAGE.md new file mode 100644 index 00000000..0030484d --- /dev/null +++ b/USAGE.md @@ -0,0 +1,33 @@ + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTaxRatesAllRequest req = new AccountingTaxRatesAllRequest() { + ServiceId = "salesforce", + Filter = new TaxRatesFilter() { + Assets = true, + Equity = true, + Expenses = true, + Liabilities = true, + Revenue = true, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.TaxRates.ListAsync(req); + +// handle response +``` + \ No newline at end of file diff --git a/docs/Models/Components/AccountStatus.md b/docs/Models/Components/AccountStatus.md new file mode 100644 index 00000000..d5bf0506 --- /dev/null +++ b/docs/Models/Components/AccountStatus.md @@ -0,0 +1,12 @@ +# AccountStatus + +The status of the account. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Active` | active | +| `Inactive` | inactive | +| `Archived` | archived | \ No newline at end of file diff --git a/docs/Models/Components/AccountType.md b/docs/Models/Components/AccountType.md new file mode 100644 index 00000000..e6870108 --- /dev/null +++ b/docs/Models/Components/AccountType.md @@ -0,0 +1,12 @@ +# AccountType + +The type of bank account. + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `BankAccount` | bank_account | +| `CreditCard` | credit_card | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/AccountingDepartment.md b/docs/Models/Components/AccountingDepartment.md new file mode 100644 index 00000000..720b6e72 --- /dev/null +++ b/docs/Models/Components/AccountingDepartment.md @@ -0,0 +1,19 @@ +# AccountingDepartment + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `ParentId` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the department. | Sales | +| `Status` | [DepartmentStatus](../../Models/Components/DepartmentStatus.md) | :heavy_minus_sign: | Based on the status some functionality is enabled or disabled. | active | +| `Subsidiaries` | List<[SubsidiaryReference](../../Models/Components/SubsidiaryReference.md)> | :heavy_minus_sign: | N/A | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/AccountingDepartmentInput.md b/docs/Models/Components/AccountingDepartmentInput.md new file mode 100644 index 00000000..308988da --- /dev/null +++ b/docs/Models/Components/AccountingDepartmentInput.md @@ -0,0 +1,13 @@ +# AccountingDepartmentInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ParentId` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the department. | Sales | +| `Status` | [DepartmentStatus](../../Models/Components/DepartmentStatus.md) | :heavy_minus_sign: | Based on the status some functionality is enabled or disabled. | active | +| `Subsidiaries` | List<[SubsidiaryReferenceInput](../../Models/Components/SubsidiaryReferenceInput.md)> | :heavy_minus_sign: | N/A | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/AccountingDepartmentsFilter.md b/docs/Models/Components/AccountingDepartmentsFilter.md new file mode 100644 index 00000000..ed8862de --- /dev/null +++ b/docs/Models/Components/AccountingDepartmentsFilter.md @@ -0,0 +1,8 @@ +# AccountingDepartmentsFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `Subsidiary` | *string* | :heavy_minus_sign: | Id of the subsidiary to search for | 1 | \ No newline at end of file diff --git a/docs/Models/Components/AccountingLocation.md b/docs/Models/Components/AccountingLocation.md new file mode 100644 index 00000000..e74623ed --- /dev/null +++ b/docs/Models/Components/AccountingLocation.md @@ -0,0 +1,21 @@ +# AccountingLocation + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `ParentId` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `CompanyName` | *string* | :heavy_minus_sign: | The name of the company. | SpaceX | +| `DisplayName` | *string* | :heavy_minus_sign: | The display name of the location. | 11 UT - South Jordan | +| `Status` | [LocationStatus](../../Models/Components/LocationStatus.md) | :heavy_minus_sign: | Based on the status some functionality is enabled or disabled. | active | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `Subsidiaries` | List<[SubsidiaryReference](../../Models/Components/SubsidiaryReference.md)> | :heavy_minus_sign: | N/A | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/AccountingLocationInput.md b/docs/Models/Components/AccountingLocationInput.md new file mode 100644 index 00000000..0fb90059 --- /dev/null +++ b/docs/Models/Components/AccountingLocationInput.md @@ -0,0 +1,15 @@ +# AccountingLocationInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ParentId` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `CompanyName` | *string* | :heavy_minus_sign: | The name of the company. | SpaceX | +| `DisplayName` | *string* | :heavy_minus_sign: | The display name of the location. | 11 UT - South Jordan | +| `Status` | [LocationStatus](../../Models/Components/LocationStatus.md) | :heavy_minus_sign: | Based on the status some functionality is enabled or disabled. | active | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `Subsidiaries` | List<[SubsidiaryReferenceInput](../../Models/Components/SubsidiaryReferenceInput.md)> | :heavy_minus_sign: | N/A | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/AccountingLocationsFilter.md b/docs/Models/Components/AccountingLocationsFilter.md new file mode 100644 index 00000000..34d701ba --- /dev/null +++ b/docs/Models/Components/AccountingLocationsFilter.md @@ -0,0 +1,8 @@ +# AccountingLocationsFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `Subsidiary` | *string* | :heavy_minus_sign: | Id of the subsidiary to search for | 1 | \ No newline at end of file diff --git a/docs/Models/Components/ActivitiesFilter.md b/docs/Models/Components/ActivitiesFilter.md new file mode 100644 index 00000000..5a7d9878 --- /dev/null +++ b/docs/Models/Components/ActivitiesFilter.md @@ -0,0 +1,12 @@ +# ActivitiesFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `CompanyId` | *string* | :heavy_minus_sign: | Company ID to filter on | 1234 | +| `OwnerId` | *string* | :heavy_minus_sign: | Owner ID to filter on | 1234 | +| `ContactId` | *string* | :heavy_minus_sign: | Primary contact ID to filter on | 1234 | +| `UpdatedSince` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | +| `Type` | *string* | :heavy_minus_sign: | Type to filter on | Task | \ No newline at end of file diff --git a/docs/Models/Components/ActivitiesSort.md b/docs/Models/Components/ActivitiesSort.md new file mode 100644 index 00000000..610ca107 --- /dev/null +++ b/docs/Models/Components/ActivitiesSort.md @@ -0,0 +1,9 @@ +# ActivitiesSort + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `By` | [ActivitiesSortBy](../../Models/Components/ActivitiesSortBy.md) | :heavy_minus_sign: | The field on which to sort the Activities | created_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/ActivitiesSortBy.md b/docs/Models/Components/ActivitiesSortBy.md new file mode 100644 index 00000000..f524c39e --- /dev/null +++ b/docs/Models/Components/ActivitiesSortBy.md @@ -0,0 +1,11 @@ +# ActivitiesSortBy + +The field on which to sort the Activities + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | \ No newline at end of file diff --git a/docs/Models/Components/Activity.md b/docs/Models/Components/Activity.md new file mode 100644 index 00000000..315d75f5 --- /dev/null +++ b/docs/Models/Components/Activity.md @@ -0,0 +1,59 @@ +# Activity + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The unique identifier of the activity | 12345 | +| `DownstreamId` | *string* | :heavy_minus_sign: | The third-party API ID of original entity | 12345 | +| `ActivityDatetime` | *string* | :heavy_minus_sign: | The date and time of the activity | 2021-05-01T12:00:00.000Z | +| `DurationSeconds` | *long* | :heavy_minus_sign: | The duration of the activity in seconds | 1800 | +| `UserId` | *string* | :heavy_minus_sign: | The user related to the activity | 12345 | +| `AccountId` | *string* | :heavy_minus_sign: | The account related to the activity | 12345 | +| `ContactId` | *string* | :heavy_minus_sign: | The contact related to the activity | 12345 | +| `CompanyId` | *string* | :heavy_minus_sign: | The company related to the activity | 12345 | +| `OpportunityId` | *string* | :heavy_minus_sign: | The opportunity related to the activity | 12345 | +| `LeadId` | *string* | :heavy_minus_sign: | The lead related to the activity | 12345 | +| `OwnerId` | *string* | :heavy_minus_sign: | The owner of the activity | 12345 | +| `CampaignId` | *string* | :heavy_minus_sign: | The campaign related to the activity | 12345 | +| `CaseId` | *string* | :heavy_minus_sign: | The case related to the activity | 12345 | +| `AssetId` | *string* | :heavy_minus_sign: | The asset related to the activity | 12345 | +| `ContractId` | *string* | :heavy_minus_sign: | The contract related to the activity | 12345 | +| `ProductId` | *string* | :heavy_minus_sign: | The product related to the activity | 12345 | +| `SolutionId` | *string* | :heavy_minus_sign: | The solution related to the activity | 12345 | +| `CustomObjectId` | *string* | :heavy_minus_sign: | The custom object related to the activity | 12345 | +| `Type` | [ActivityType](../../Models/Components/ActivityType.md) | :heavy_check_mark: | The type of the activity | meeting | +| `Title` | *string* | :heavy_minus_sign: | The title of the activity | Meeting | +| `Description` | *string* | :heavy_minus_sign: | A description of the activity | More info about the meeting | +| `Note` | *string* | :heavy_minus_sign: | An internal note about the activity | An internal note about the meeting | +| `Location` | *string* | :heavy_minus_sign: | The location of the activity | Space | +| `LocationAddress` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | +| `AllDayEvent` | *bool* | :heavy_minus_sign: | Whether the Activity is an all day event or not | false | +| `Private` | *bool* | :heavy_minus_sign: | Whether the Activity is private or not | true | +| `GroupEvent` | *bool* | :heavy_minus_sign: | Whether the Activity is a group event or not | true | +| `EventSubType` | *string* | :heavy_minus_sign: | The sub type of the group event | debrief | +| `GroupEventType` | *string* | :heavy_minus_sign: | The type of the group event | Proposed | +| `Child` | *bool* | :heavy_minus_sign: | Whether the activity is a child of another activity or not | false | +| `Archived` | *bool* | :heavy_minus_sign: | Whether the activity is archived or not | false | +| `Deleted` | *bool* | :heavy_minus_sign: | Whether the activity is deleted or not | false | +| `ShowAs` | [ShowAs](../../Models/Components/ShowAs.md) | :heavy_minus_sign: | N/A | busy | +| `Done` | *bool* | :heavy_minus_sign: | Whether the Activity is done or not | false | +| `StartDatetime` | *string* | :heavy_minus_sign: | The start date and time of the activity | 2021-05-01T12:00:00.000Z | +| `EndDatetime` | *string* | :heavy_minus_sign: | The end date and time of the activity | 2021-05-01T12:30:00.000Z | +| `DurationMinutes` | *long* | :heavy_minus_sign: | The duration of the activity in minutes | 30 | +| `ActivityDate` | *string* | :heavy_minus_sign: | The date of the activity | 2021-05-01 | +| `EndDate` | *string* | :heavy_minus_sign: | The end date of the activity | 2021-05-01 | +| `Recurrent` | *bool* | :heavy_minus_sign: | Whether the activity is recurrent or not | false | +| `ReminderDatetime` | *string* | :heavy_minus_sign: | The date and time of the reminder | 2021-05-01T17:00:00.000Z | +| `ReminderSet` | *bool* | :heavy_minus_sign: | Whether the reminder is set or not | false | +| `VideoConferenceUrl` | *string* | :heavy_minus_sign: | The URL of the video conference | https://us02web.zoom.us/j/88120759396 | +| `VideoConferenceId` | *string* | :heavy_minus_sign: | The ID of the video conference | zoom:88120759396 | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | Custom fields of the activity | | +| `Attendees` | List<[ActivityAttendee](../../Models/Components/ActivityAttendee.md)> | :heavy_minus_sign: | N/A | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the activity | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the activity | 12345 | +| `UpdatedAt` | *string* | :heavy_minus_sign: | The date and time when the activity was last updated | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | *string* | :heavy_minus_sign: | The date and time when the activity was created | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/ActivityAttendee.md b/docs/Models/Components/ActivityAttendee.md new file mode 100644 index 00000000..9424d6c6 --- /dev/null +++ b/docs/Models/Components/ActivityAttendee.md @@ -0,0 +1,21 @@ +# ActivityAttendee + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | Unique identifier for the attendee | 12345 | +| `Name` | *string* | :heavy_minus_sign: | Full name of the attendee | Elon Musk | +| `FirstName` | *string* | :heavy_minus_sign: | First name of the attendee | Elon | +| `MiddleName` | *string* | :heavy_minus_sign: | Middle name of the attendee | D. | +| `LastName` | *string* | :heavy_minus_sign: | Last name of the attendee | Musk | +| `Prefix` | *string* | :heavy_minus_sign: | Prefix of the attendee | Mr. | +| `Suffix` | *string* | :heavy_minus_sign: | Suffix of the attendee | PhD | +| `EmailAddress` | *string* | :heavy_minus_sign: | Email address of the attendee | elon@musk.com | +| `IsOrganizer` | *bool* | :heavy_minus_sign: | Whether the attendee is the organizer of the activity | true | +| `Status` | [ActivityAttendeeStatus](../../Models/Components/ActivityAttendeeStatus.md) | :heavy_minus_sign: | Status of the attendee | accepted | +| `UserId` | *string* | :heavy_minus_sign: | The identifier for a related user | 12345 | +| `ContactId` | *string* | :heavy_minus_sign: | The identifier for a related contact | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The last time the attendee was updated (ISO 8601) | 2017-08-12T20:43:21.291Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The time the attendee was created (ISO 8601) | 2017-08-12T20:43:21.291Z | \ No newline at end of file diff --git a/docs/Models/Components/ActivityAttendeeInput.md b/docs/Models/Components/ActivityAttendeeInput.md new file mode 100644 index 00000000..9d4b7c24 --- /dev/null +++ b/docs/Models/Components/ActivityAttendeeInput.md @@ -0,0 +1,16 @@ +# ActivityAttendeeInput + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_minus_sign: | Full name of the attendee | Elon Musk | +| `FirstName` | *string* | :heavy_minus_sign: | First name of the attendee | Elon | +| `MiddleName` | *string* | :heavy_minus_sign: | Middle name of the attendee | D. | +| `LastName` | *string* | :heavy_minus_sign: | Last name of the attendee | Musk | +| `Prefix` | *string* | :heavy_minus_sign: | Prefix of the attendee | Mr. | +| `Suffix` | *string* | :heavy_minus_sign: | Suffix of the attendee | PhD | +| `EmailAddress` | *string* | :heavy_minus_sign: | Email address of the attendee | elon@musk.com | +| `IsOrganizer` | *bool* | :heavy_minus_sign: | Whether the attendee is the organizer of the activity | true | +| `Status` | [ActivityAttendeeStatus](../../Models/Components/ActivityAttendeeStatus.md) | :heavy_minus_sign: | Status of the attendee | accepted | \ No newline at end of file diff --git a/docs/Models/Components/ActivityAttendeeStatus.md b/docs/Models/Components/ActivityAttendeeStatus.md new file mode 100644 index 00000000..2d919e3e --- /dev/null +++ b/docs/Models/Components/ActivityAttendeeStatus.md @@ -0,0 +1,12 @@ +# ActivityAttendeeStatus + +Status of the attendee + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Accepted` | accepted | +| `Tentative` | tentative | +| `Declined` | declined | \ No newline at end of file diff --git a/docs/Models/Components/ActivityInput.md b/docs/Models/Components/ActivityInput.md new file mode 100644 index 00000000..2f36b03b --- /dev/null +++ b/docs/Models/Components/ActivityInput.md @@ -0,0 +1,51 @@ +# ActivityInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ActivityDatetime` | *string* | :heavy_minus_sign: | The date and time of the activity | 2021-05-01T12:00:00.000Z | +| `DurationSeconds` | *long* | :heavy_minus_sign: | The duration of the activity in seconds | 1800 | +| `UserId` | *string* | :heavy_minus_sign: | The user related to the activity | 12345 | +| `AccountId` | *string* | :heavy_minus_sign: | The account related to the activity | 12345 | +| `ContactId` | *string* | :heavy_minus_sign: | The contact related to the activity | 12345 | +| `CompanyId` | *string* | :heavy_minus_sign: | The company related to the activity | 12345 | +| `OpportunityId` | *string* | :heavy_minus_sign: | The opportunity related to the activity | 12345 | +| `LeadId` | *string* | :heavy_minus_sign: | The lead related to the activity | 12345 | +| `OwnerId` | *string* | :heavy_minus_sign: | The owner of the activity | 12345 | +| `CampaignId` | *string* | :heavy_minus_sign: | The campaign related to the activity | 12345 | +| `CaseId` | *string* | :heavy_minus_sign: | The case related to the activity | 12345 | +| `AssetId` | *string* | :heavy_minus_sign: | The asset related to the activity | 12345 | +| `ContractId` | *string* | :heavy_minus_sign: | The contract related to the activity | 12345 | +| `ProductId` | *string* | :heavy_minus_sign: | The product related to the activity | 12345 | +| `SolutionId` | *string* | :heavy_minus_sign: | The solution related to the activity | 12345 | +| `CustomObjectId` | *string* | :heavy_minus_sign: | The custom object related to the activity | 12345 | +| `Type` | [ActivityType](../../Models/Components/ActivityType.md) | :heavy_check_mark: | The type of the activity | meeting | +| `Title` | *string* | :heavy_minus_sign: | The title of the activity | Meeting | +| `Description` | *string* | :heavy_minus_sign: | A description of the activity | More info about the meeting | +| `Note` | *string* | :heavy_minus_sign: | An internal note about the activity | An internal note about the meeting | +| `Location` | *string* | :heavy_minus_sign: | The location of the activity | Space | +| `LocationAddress` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | +| `AllDayEvent` | *bool* | :heavy_minus_sign: | Whether the Activity is an all day event or not | false | +| `Private` | *bool* | :heavy_minus_sign: | Whether the Activity is private or not | true | +| `GroupEvent` | *bool* | :heavy_minus_sign: | Whether the Activity is a group event or not | true | +| `EventSubType` | *string* | :heavy_minus_sign: | The sub type of the group event | debrief | +| `GroupEventType` | *string* | :heavy_minus_sign: | The type of the group event | Proposed | +| `Child` | *bool* | :heavy_minus_sign: | Whether the activity is a child of another activity or not | false | +| `Archived` | *bool* | :heavy_minus_sign: | Whether the activity is archived or not | false | +| `Deleted` | *bool* | :heavy_minus_sign: | Whether the activity is deleted or not | false | +| `ShowAs` | [ShowAs](../../Models/Components/ShowAs.md) | :heavy_minus_sign: | N/A | busy | +| `Done` | *bool* | :heavy_minus_sign: | Whether the Activity is done or not | false | +| `StartDatetime` | *string* | :heavy_minus_sign: | The start date and time of the activity | 2021-05-01T12:00:00.000Z | +| `EndDatetime` | *string* | :heavy_minus_sign: | The end date and time of the activity | 2021-05-01T12:30:00.000Z | +| `ActivityDate` | *string* | :heavy_minus_sign: | The date of the activity | 2021-05-01 | +| `EndDate` | *string* | :heavy_minus_sign: | The end date of the activity | 2021-05-01 | +| `Recurrent` | *bool* | :heavy_minus_sign: | Whether the activity is recurrent or not | false | +| `ReminderDatetime` | *string* | :heavy_minus_sign: | The date and time of the reminder | 2021-05-01T17:00:00.000Z | +| `ReminderSet` | *bool* | :heavy_minus_sign: | Whether the reminder is set or not | false | +| `VideoConferenceUrl` | *string* | :heavy_minus_sign: | The URL of the video conference | https://us02web.zoom.us/j/88120759396 | +| `VideoConferenceId` | *string* | :heavy_minus_sign: | The ID of the video conference | zoom:88120759396 | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | Custom fields of the activity | | +| `Attendees` | List<[ActivityAttendeeInput](../../Models/Components/ActivityAttendeeInput.md)> | :heavy_minus_sign: | N/A | | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/ActivityType.md b/docs/Models/Components/ActivityType.md new file mode 100644 index 00000000..17a49457 --- /dev/null +++ b/docs/Models/Components/ActivityType.md @@ -0,0 +1,18 @@ +# ActivityType + +The type of the activity + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Call` | call | +| `Meeting` | meeting | +| `Email` | email | +| `Note` | note | +| `Task` | task | +| `Deadline` | deadline | +| `SendLetter` | send-letter | +| `SendQuote` | send-quote | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/Address.md b/docs/Models/Components/Address.md new file mode 100644 index 00000000..6eb511cf --- /dev/null +++ b/docs/Models/Components/Address.md @@ -0,0 +1,31 @@ +# Address + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | Unique identifier for the address. | 123 | +| `Type` | [Models.Components.Type](../../Models/Components/Type.md) | :heavy_minus_sign: | The type of address. | primary | +| `String` | *string* | :heavy_minus_sign: | The address string. Some APIs don't provide structured address data. | 25 Spring Street, Blackburn, VIC 3130 | +| `Name` | *string* | :heavy_minus_sign: | The name of the address. | HQ US | +| `Line1` | *string* | :heavy_minus_sign: | Line 1 of the address e.g. number, street, suite, apt #, etc. | Main street | +| `Line2` | *string* | :heavy_minus_sign: | Line 2 of the address | apt # | +| `Line3` | *string* | :heavy_minus_sign: | Line 3 of the address | Suite # | +| `Line4` | *string* | :heavy_minus_sign: | Line 4 of the address | delivery instructions | +| `StreetNumber` | *string* | :heavy_minus_sign: | Street number | 25 | +| `City` | *string* | :heavy_minus_sign: | Name of city. | San Francisco | +| `State` | *string* | :heavy_minus_sign: | Name of state | CA | +| `PostalCode` | *string* | :heavy_minus_sign: | Zip code or equivalent. | 94104 | +| `Country` | *string* | :heavy_minus_sign: | country code according to ISO 3166-1 alpha-2. | US | +| `Latitude` | *string* | :heavy_minus_sign: | Latitude of the address | 40.759211 | +| `Longitude` | *string* | :heavy_minus_sign: | Longitude of the address | -73.984638 | +| `County` | *string* | :heavy_minus_sign: | Address field that holds a sublocality, such as a county | Santa Clara | +| `ContactName` | *string* | :heavy_minus_sign: | Name of the contact person at the address | Elon Musk | +| `Salutation` | *string* | :heavy_minus_sign: | Salutation of the contact person at the address | Mr | +| `PhoneNumber` | *string* | :heavy_minus_sign: | Phone number of the address | 111-111-1111 | +| `Fax` | *string* | :heavy_minus_sign: | Fax number of the address | 122-111-1111 | +| `Email` | *string* | :heavy_minus_sign: | Email address of the address | elon@musk.com | +| `Website` | *string* | :heavy_minus_sign: | Website of the address | https://elonmusk.com | +| `Notes` | *string* | :heavy_minus_sign: | Additional notes | Address notes or delivery instructions. | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | \ No newline at end of file diff --git a/docs/Models/Components/Addresses.md b/docs/Models/Components/Addresses.md new file mode 100644 index 00000000..645dd997 --- /dev/null +++ b/docs/Models/Components/Addresses.md @@ -0,0 +1,15 @@ +# Addresses + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `Type` | [EcommerceCustomerType](../../Models/Components/EcommerceCustomerType.md) | :heavy_minus_sign: | N/A | billing | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Line1` | *string* | :heavy_minus_sign: | First line of the street address of the customer | Main street | +| `Line2` | *string* | :heavy_minus_sign: | Second line of the street address of the customer | apt # | +| `City` | *string* | :heavy_minus_sign: | City of the customer | Anytown | +| `State` | *string* | :heavy_minus_sign: | State of the customer | Ohio | +| `PostalCode` | *string* | :heavy_minus_sign: | Postal code of the customer | 12345 | +| `Country` | *string* | :heavy_minus_sign: | Country of the customer | US | \ No newline at end of file diff --git a/docs/Models/Components/Allocation.md b/docs/Models/Components/Allocation.md new file mode 100644 index 00000000..ac3709df --- /dev/null +++ b/docs/Models/Components/Allocation.md @@ -0,0 +1,12 @@ +# Allocation + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | Unique identifier of entity this payment should be attributed to. | 123456 | +| `Type` | [AllocationType](../../Models/Components/AllocationType.md) | :heavy_minus_sign: | Type of entity this payment should be attributed to. | | +| `Code` | *string* | :heavy_minus_sign: | N/A | N091 | +| `Amount` | *double* | :heavy_minus_sign: | Amount of payment that should be attributed to this allocation. If null, the total_amount will be used. | 49.99 | +| `AllocationId` | *string* | :heavy_minus_sign: | Unique identifier of the allocation | 123456 | \ No newline at end of file diff --git a/docs/Models/Components/AllocationInput.md b/docs/Models/Components/AllocationInput.md new file mode 100644 index 00000000..bc03e667 --- /dev/null +++ b/docs/Models/Components/AllocationInput.md @@ -0,0 +1,11 @@ +# AllocationInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | Unique identifier of entity this payment should be attributed to. | 123456 | +| `Type` | [AllocationType](../../Models/Components/AllocationType.md) | :heavy_minus_sign: | Type of entity this payment should be attributed to. | | +| `Amount` | *double* | :heavy_minus_sign: | Amount of payment that should be attributed to this allocation. If null, the total_amount will be used. | 49.99 | +| `AllocationId` | *string* | :heavy_minus_sign: | Unique identifier of the allocation | 123456 | \ No newline at end of file diff --git a/docs/Models/Components/AllocationType.md b/docs/Models/Components/AllocationType.md new file mode 100644 index 00000000..ab837a24 --- /dev/null +++ b/docs/Models/Components/AllocationType.md @@ -0,0 +1,18 @@ +# AllocationType + +Type of entity this payment should be attributed to. + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `Invoice` | invoice | +| `Order` | order | +| `Expense` | expense | +| `CreditMemo` | credit_memo | +| `OverPayment` | over_payment | +| `PrePayment` | pre_payment | +| `JournalEntry` | journal_entry | +| `Other` | other | +| `Bill` | bill | \ No newline at end of file diff --git a/docs/Models/Components/Allocations.md b/docs/Models/Components/Allocations.md new file mode 100644 index 00000000..a9e42936 --- /dev/null +++ b/docs/Models/Components/Allocations.md @@ -0,0 +1,12 @@ +# Allocations + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Type` | [BillPaymentAllocationType](../../Models/Components/BillPaymentAllocationType.md) | :heavy_minus_sign: | Type of entity this payment should be attributed to. | bill | +| `Code` | *string* | :heavy_minus_sign: | N/A | N091 | +| `Amount` | *double* | :heavy_minus_sign: | Amount of payment that should be attributed to this allocation. If null, the total_amount will be used. | 49.99 | +| `AllocationId` | *string* | :heavy_minus_sign: | Unique identifier of the allocation | 123456 | \ No newline at end of file diff --git a/docs/Models/Components/AllowActions.md b/docs/Models/Components/AllowActions.md new file mode 100644 index 00000000..13eed39d --- /dev/null +++ b/docs/Models/Components/AllowActions.md @@ -0,0 +1,11 @@ +# AllowActions + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `Delete` | delete | +| `Disconnect` | disconnect | +| `Reauthorize` | reauthorize | +| `Disable` | disable | \ No newline at end of file diff --git a/docs/Models/Components/Api.md b/docs/Models/Components/Api.md new file mode 100644 index 00000000..ccd0ceaa --- /dev/null +++ b/docs/Models/Components/Api.md @@ -0,0 +1,18 @@ +# Api + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | ID of the API. | file-storage | +| `Type` | [ApiType](../../Models/Components/ApiType.md) | :heavy_minus_sign: | Indicates whether the API is a Unified API. If unified_api is false, the API is a Platform API. | | +| `Name` | *string* | :heavy_minus_sign: | Name of the API. | File Storage API | +| `Description` | *string* | :heavy_minus_sign: | Description of the API. | Manage API keys, access tokens, OAuth flows and integrations. | +| `Status` | [ApiStatus](../../Models/Components/ApiStatus.md) | :heavy_minus_sign: | Status of the API. APIs with status live or beta are callable. | | +| `SpecUrl` | *string* | :heavy_minus_sign: | Link to the latest OpenAPI specification of the API. | https://specs.apideck.com/file-storage.yml | +| `ApiReferenceUrl` | *string* | :heavy_minus_sign: | Link to the API reference of the API. | https://developers.apideck.com/apis/file-storage/reference | +| `PostmanCollectionId` | *string* | :heavy_minus_sign: | ID of the Postman collection of the API. | 1311564-00e7266b-a3d6-4f40-b172-baaa66a3ed6f | +| `Categories` | List<*string*> | :heavy_minus_sign: | List of categories the API belongs to. | [
"files",
"file-storage",
"cloud-storage",
"object-storage"
] | +| `Resources` | List<[Resources](../../Models/Components/Resources.md)> | :heavy_minus_sign: | List of resources supported in this API. | | +| `Events` | List<*string*> | :heavy_minus_sign: | List of event types this API supports. | [
"crm.contact.updated",
"accounting.invoice.created"
] | \ No newline at end of file diff --git a/docs/Models/Components/ApiResource.md b/docs/Models/Components/ApiResource.md new file mode 100644 index 00000000..5b370c8b --- /dev/null +++ b/docs/Models/Components/ApiResource.md @@ -0,0 +1,12 @@ +# ApiResource + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | ID of the resource, typically a lowercased version of name. | companies | +| `Name` | *string* | :heavy_minus_sign: | Name of the resource (plural) | Companies | +| `Status` | [ResourceStatus](../../Models/Components/ResourceStatus.md) | :heavy_minus_sign: | Status of the resource. Resources with status live or beta are callable. | | +| `LinkedResources` | List<[LinkedResources](../../Models/Components/LinkedResources.md)> | :heavy_minus_sign: | List of linked resources. | | +| `Schema` | [Schema](../../Models/Components/Schema.md) | :heavy_minus_sign: | JSON Schema of the resource in our Unified API | {
"required": [
"name",
"company_name"
],
"x-pii": [
"name",
"email",
"first_name",
"last_name"
],
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"example": "12345",
"readOnly": true
},
"name": {
"type": "string",
"example": "Elon Musk",
"minLength": 1
},
"updated_at": {
"type": "string",
"example": "2020-09-30T07:43:32.000Z",
"readOnly": true
},
"created_at": {
"type": "string",
"example": "2020-09-30T07:43:32.000Z",
"readOnly": true
}
}
} | \ No newline at end of file diff --git a/docs/Models/Components/ApiResourceCoverage.md b/docs/Models/Components/ApiResourceCoverage.md new file mode 100644 index 00000000..30b70326 --- /dev/null +++ b/docs/Models/Components/ApiResourceCoverage.md @@ -0,0 +1,11 @@ +# ApiResourceCoverage + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | ID of the resource, typically a lowercased version of name. | companies | +| `Name` | *string* | :heavy_minus_sign: | Name of the resource (plural) | Companies | +| `Status` | [ResourceStatus](../../Models/Components/ResourceStatus.md) | :heavy_minus_sign: | Status of the resource. Resources with status live or beta are callable. | | +| `Coverage` | List<[Coverage](../../Models/Components/Coverage.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/ApiStatus.md b/docs/Models/Components/ApiStatus.md new file mode 100644 index 00000000..4698ad5d --- /dev/null +++ b/docs/Models/Components/ApiStatus.md @@ -0,0 +1,13 @@ +# ApiStatus + +Status of the API. APIs with status live or beta are callable. + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `Live` | live | +| `Beta` | beta | +| `Development` | development | +| `Considering` | considering | \ No newline at end of file diff --git a/docs/Models/Components/ApiType.md b/docs/Models/Components/ApiType.md new file mode 100644 index 00000000..fad8336a --- /dev/null +++ b/docs/Models/Components/ApiType.md @@ -0,0 +1,11 @@ +# ApiType + +Indicates whether the API is a Unified API. If unified_api is false, the API is a Platform API. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Platform` | platform | +| `Unified` | unified | \ No newline at end of file diff --git a/docs/Models/Components/ApisFilter.md b/docs/Models/Components/ApisFilter.md new file mode 100644 index 00000000..8b700c72 --- /dev/null +++ b/docs/Models/Components/ApisFilter.md @@ -0,0 +1,8 @@ +# ApisFilter + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `Status` | [ApiStatus](../../Models/Components/ApiStatus.md) | :heavy_minus_sign: | Status of the API. APIs with status live or beta are callable. | \ No newline at end of file diff --git a/docs/Models/Components/Applicant.md b/docs/Models/Components/Applicant.md new file mode 100644 index 00000000..102cd23d --- /dev/null +++ b/docs/Models/Components/Applicant.md @@ -0,0 +1,52 @@ +# Applicant + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of an applicant. | Elon Musk | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the person. | Elon | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the person. | Musk | +| `MiddleName` | *string* | :heavy_minus_sign: | Middle name of the person. | D. | +| `Initials` | *string* | :heavy_minus_sign: | The initials of the person, usually derived from their first, middle, and last names. | EM | +| `Birthday` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date of birth of the person. | 2000-08-12 | +| `CoverLetter` | *string* | :heavy_minus_sign: | N/A | I submit this application to express my sincere interest in the API developer position. In the previous role, I was responsible for leadership and ... | +| `JobUrl` | *string* | :heavy_minus_sign: | N/A | https://democompany.recruitee.com/o/example-talent-pool | +| `PhotoUrl` | *string* | :heavy_minus_sign: | The URL of the photo of a person. | https://unavatar.io/elon-musk | +| `Headline` | *string* | :heavy_minus_sign: | Typically a list of previous companies where the contact has worked or schools that the contact has attended | PepsiCo, Inc, Central Perk | +| `Title` | *string* | :heavy_minus_sign: | The job title of the person. | CEO | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `Websites` | List<[Websites](../../Models/Components/Websites.md)> | :heavy_minus_sign: | N/A | | +| `SocialLinks` | List<[SocialLinks](../../Models/Components/SocialLinks.md)> | :heavy_minus_sign: | N/A | | +| `StageId` | *string* | :heavy_minus_sign: | N/A | 12345 | +| `RecruiterId` | *string* | :heavy_minus_sign: | N/A | 12345 | +| `CoordinatorId` | *string* | :heavy_minus_sign: | N/A | 12345 | +| `ApplicationIds` | List<*string*> | :heavy_minus_sign: | N/A | [
"a0d636c6-43b3-4bde-8c70-85b707d992f4",
"a98lfd96-43b3-4bde-8c70-85b707d992e6"
] | +| `Applications` | List<*string*> | :heavy_minus_sign: | N/A | [
"a0d636c6-43b3-4bde-8c70-85b707d992f4",
"a98lfd96-43b3-4bde-8c70-85b707d992e6"
] | +| `Followers` | List<*string*> | :heavy_minus_sign: | N/A | [
"a0d636c6-43b3-4bde-8c70-85b707d992f4",
"a98lfd96-43b3-4bde-8c70-85b707d992e6"
] | +| `Sources` | List<*string*> | :heavy_minus_sign: | N/A | [
"Job site"
] | +| `SourceId` | *string* | :heavy_minus_sign: | N/A | 12345 | +| `Confidential` | *bool* | :heavy_minus_sign: | N/A | false | +| `Anonymized` | *bool* | :heavy_minus_sign: | N/A | true | +| `Tags` | List<*string*> | :heavy_minus_sign: | N/A | [
"New"
] | +| `Archived` | *bool* | :heavy_minus_sign: | N/A | false | +| `LastInteractionAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | +| `OwnerId` | *string* | :heavy_minus_sign: | N/A | 54321 | +| `SourcedBy` | *string* | :heavy_minus_sign: | N/A | 12345 | +| `CvUrl` | *string* | :heavy_minus_sign: | N/A | https://recruitee-main.s3.eu-central-1.amazonaws.com/candidates/36615291/pdf_cv_38swhu4w42k1.pdf?response-content-disposition=inline&response-content-type=application%2Fpdf&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAQYHB7CA5RLR4Y3ON%2F20220514%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20220514T235654Z&X-Amz-Expires=36000&X-Amz-SignedHeaders=host&X-Amz-Signature=72c0621f5976db75b54de487eb821a8e73480d7f2a6a4a9713ab997944b0561f | +| `RecordUrl` | *string* | :heavy_minus_sign: | N/A | https://app.intercom.io/contacts/12345 | +| `RejectedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `Deleted` | *bool* | :heavy_minus_sign: | Flag to indicate if the object is deleted. | true | +| `DeletedBy` | *string* | :heavy_minus_sign: | The user who deleted the object. | 12345 | +| `DeletedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The time at which the object was deleted. | 2020-09-30T07:43:32.000Z | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/ApplicantInput.md b/docs/Models/Components/ApplicantInput.md new file mode 100644 index 00000000..5ab6b360 --- /dev/null +++ b/docs/Models/Components/ApplicantInput.md @@ -0,0 +1,38 @@ +# ApplicantInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_minus_sign: | The name of an applicant. | Elon Musk | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the person. | Elon | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the person. | Musk | +| `MiddleName` | *string* | :heavy_minus_sign: | Middle name of the person. | D. | +| `Initials` | *string* | :heavy_minus_sign: | The initials of the person, usually derived from their first, middle, and last names. | EM | +| `Birthday` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date of birth of the person. | 2000-08-12 | +| `CoverLetter` | *string* | :heavy_minus_sign: | N/A | I submit this application to express my sincere interest in the API developer position. In the previous role, I was responsible for leadership and ... | +| `PhotoUrl` | *string* | :heavy_minus_sign: | The URL of the photo of a person. | https://unavatar.io/elon-musk | +| `Headline` | *string* | :heavy_minus_sign: | Typically a list of previous companies where the contact has worked or schools that the contact has attended | PepsiCo, Inc, Central Perk | +| `Title` | *string* | :heavy_minus_sign: | The job title of the person. | CEO | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `Websites` | List<[Websites](../../Models/Components/Websites.md)> | :heavy_minus_sign: | N/A | | +| `SocialLinks` | List<[SocialLinks](../../Models/Components/SocialLinks.md)> | :heavy_minus_sign: | N/A | | +| `StageId` | *string* | :heavy_minus_sign: | N/A | 12345 | +| `RecruiterId` | *string* | :heavy_minus_sign: | N/A | 12345 | +| `CoordinatorId` | *string* | :heavy_minus_sign: | N/A | 12345 | +| `ApplicationIds` | List<*string*> | :heavy_minus_sign: | N/A | [
"a0d636c6-43b3-4bde-8c70-85b707d992f4",
"a98lfd96-43b3-4bde-8c70-85b707d992e6"
] | +| `Applications` | List<*string*> | :heavy_minus_sign: | N/A | [
"a0d636c6-43b3-4bde-8c70-85b707d992f4",
"a98lfd96-43b3-4bde-8c70-85b707d992e6"
] | +| `Followers` | List<*string*> | :heavy_minus_sign: | N/A | [
"a0d636c6-43b3-4bde-8c70-85b707d992f4",
"a98lfd96-43b3-4bde-8c70-85b707d992e6"
] | +| `Sources` | List<*string*> | :heavy_minus_sign: | N/A | [
"Job site"
] | +| `Confidential` | *bool* | :heavy_minus_sign: | N/A | false | +| `Anonymized` | *bool* | :heavy_minus_sign: | N/A | true | +| `Tags` | List<*string*> | :heavy_minus_sign: | N/A | [
"New"
] | +| `Archived` | *bool* | :heavy_minus_sign: | N/A | false | +| `OwnerId` | *string* | :heavy_minus_sign: | N/A | 54321 | +| `RecordUrl` | *string* | :heavy_minus_sign: | N/A | https://app.intercom.io/contacts/12345 | +| `Deleted` | *bool* | :heavy_minus_sign: | Flag to indicate if the object is deleted. | true | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/ApplicantType.md b/docs/Models/Components/ApplicantType.md new file mode 100644 index 00000000..75b62057 --- /dev/null +++ b/docs/Models/Components/ApplicantType.md @@ -0,0 +1,14 @@ +# ApplicantType + +The type of website + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Primary` | primary | +| `Secondary` | secondary | +| `Work` | work | +| `Personal` | personal | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/ApplicantsFilter.md b/docs/Models/Components/ApplicantsFilter.md new file mode 100644 index 00000000..5b3cbdab --- /dev/null +++ b/docs/Models/Components/ApplicantsFilter.md @@ -0,0 +1,8 @@ +# ApplicantsFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `JobId` | *string* | :heavy_minus_sign: | Id of the job to filter on | 1234 | \ No newline at end of file diff --git a/docs/Models/Components/Application.md b/docs/Models/Components/Application.md new file mode 100644 index 00000000..e30c36bd --- /dev/null +++ b/docs/Models/Components/Application.md @@ -0,0 +1,18 @@ +# Application + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `ApplicantId` | *string* | :heavy_check_mark: | N/A | 12345 | +| `JobId` | *string* | :heavy_check_mark: | N/A | 12345 | +| `Status` | [ApplicationStatus](../../Models/Components/ApplicationStatus.md) | :heavy_minus_sign: | N/A | open | +| `Stage` | [Stage](../../Models/Components/Stage.md) | :heavy_minus_sign: | N/A | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/ApplicationInput.md b/docs/Models/Components/ApplicationInput.md new file mode 100644 index 00000000..09304593 --- /dev/null +++ b/docs/Models/Components/ApplicationInput.md @@ -0,0 +1,12 @@ +# ApplicationInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ApplicantId` | *string* | :heavy_check_mark: | N/A | 12345 | +| `JobId` | *string* | :heavy_check_mark: | N/A | 12345 | +| `Status` | [ApplicationStatus](../../Models/Components/ApplicationStatus.md) | :heavy_minus_sign: | N/A | open | +| `Stage` | [Stage](../../Models/Components/Stage.md) | :heavy_minus_sign: | N/A | | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/ApplicationStatus.md b/docs/Models/Components/ApplicationStatus.md new file mode 100644 index 00000000..4393dc8d --- /dev/null +++ b/docs/Models/Components/ApplicationStatus.md @@ -0,0 +1,12 @@ +# ApplicationStatus + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Open` | open | +| `Rejected` | rejected | +| `Hired` | hired | +| `Converted` | converted | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/Assignee.md b/docs/Models/Components/Assignee.md new file mode 100644 index 00000000..3a70190b --- /dev/null +++ b/docs/Models/Components/Assignee.md @@ -0,0 +1,9 @@ +# Assignee + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `Username` | *string* | :heavy_minus_sign: | N/A | Cocoa | \ No newline at end of file diff --git a/docs/Models/Components/AssigneeInput.md b/docs/Models/Components/AssigneeInput.md new file mode 100644 index 00000000..fbc80718 --- /dev/null +++ b/docs/Models/Components/AssigneeInput.md @@ -0,0 +1,8 @@ +# AssigneeInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | \ No newline at end of file diff --git a/docs/Models/Components/Attachment.md b/docs/Models/Components/Attachment.md new file mode 100644 index 00000000..f025a231 --- /dev/null +++ b/docs/Models/Components/Attachment.md @@ -0,0 +1,20 @@ +# Attachment + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `DisplayId` | *string* | :heavy_minus_sign: | The display id of the file | sample ID | +| `Name` | *string* | :heavy_minus_sign: | The name of the file | sample.jpg | +| `MimeType` | *string* | :heavy_minus_sign: | The MIME type of the file. | image/jpeg | +| `Size` | *long* | :heavy_minus_sign: | The size of the file in bytes | 1810673 | +| `Reference` | [AttachmentReference](../../Models/Components/AttachmentReference.md) | :heavy_minus_sign: | N/A | | +| `Description` | *string* | :heavy_minus_sign: | Optional description of the file | A sample image | +| `ParentFolderId` | *string* | :heavy_minus_sign: | The folder id where this attachment belong to | 123 | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/AttachmentReference.md b/docs/Models/Components/AttachmentReference.md new file mode 100644 index 00000000..1bc3b01e --- /dev/null +++ b/docs/Models/Components/AttachmentReference.md @@ -0,0 +1,9 @@ +# AttachmentReference + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `Type` | [AttachmentReferenceType](../../Models/Components/AttachmentReferenceType.md) | :heavy_minus_sign: | N/A | invoice | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | \ No newline at end of file diff --git a/docs/Models/Components/AttachmentReferenceType.md b/docs/Models/Components/AttachmentReferenceType.md new file mode 100644 index 00000000..0f5f3f73 --- /dev/null +++ b/docs/Models/Components/AttachmentReferenceType.md @@ -0,0 +1,10 @@ +# AttachmentReferenceType + + +## Values + +| Name | Value | +| --------- | --------- | +| `Invoice` | invoice | +| `Bill` | bill | +| `Expense` | expense | \ No newline at end of file diff --git a/docs/Models/Components/Audience.md b/docs/Models/Components/Audience.md new file mode 100644 index 00000000..6b51e366 --- /dev/null +++ b/docs/Models/Components/Audience.md @@ -0,0 +1,11 @@ +# Audience + +Audience for the doc. + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `ApplicationOwner` | application_owner | +| `Consumer` | consumer | \ No newline at end of file diff --git a/docs/Models/Components/AuthType.md b/docs/Models/Components/AuthType.md new file mode 100644 index 00000000..587e4036 --- /dev/null +++ b/docs/Models/Components/AuthType.md @@ -0,0 +1,14 @@ +# AuthType + +Type of authorization used by the connector + + +## Values + +| Name | Value | +| -------- | -------- | +| `Oauth2` | oauth2 | +| `ApiKey` | apiKey | +| `Basic` | basic | +| `Custom` | custom | +| `None` | none | \ No newline at end of file diff --git a/docs/Models/Components/BalanceSheet.md b/docs/Models/Components/BalanceSheet.md new file mode 100644 index 00000000..4105ca27 --- /dev/null +++ b/docs/Models/Components/BalanceSheet.md @@ -0,0 +1,8 @@ +# BalanceSheet + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `Reports` | List<[Reports](../../Models/Components/Reports.md)> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BalanceSheetAssetsAccount.md b/docs/Models/Components/BalanceSheetAssetsAccount.md new file mode 100644 index 00000000..28abcaee --- /dev/null +++ b/docs/Models/Components/BalanceSheetAssetsAccount.md @@ -0,0 +1,14 @@ +# BalanceSheetAssetsAccount + +A balance sheet assets account represents the financial position of a company at a specific point in time. + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | +| `AccountId` | *string* | :heavy_minus_sign: | The unique identifier for the account. | 123456 | +| `Code` | *string* | :heavy_minus_sign: | The account code of the account | 1100 | +| `Name` | *string* | :heavy_minus_sign: | The name of the account. | Current assets | +| `Value` | *double* | :heavy_minus_sign: | The amount or value of the item | 1000 | +| `Items` | *object* | :heavy_minus_sign: | A list of balance sheet accounts | | \ No newline at end of file diff --git a/docs/Models/Components/BalanceSheetEquityAccount.md b/docs/Models/Components/BalanceSheetEquityAccount.md new file mode 100644 index 00000000..c707ff57 --- /dev/null +++ b/docs/Models/Components/BalanceSheetEquityAccount.md @@ -0,0 +1,14 @@ +# BalanceSheetEquityAccount + +A balance sheet equity account represents the financial position of a company at a specific point in time. + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | +| `AccountId` | *string* | :heavy_minus_sign: | The unique identifier for the account. | 123456 | +| `Code` | *string* | :heavy_minus_sign: | The account code of the account | 1100 | +| `Name` | *string* | :heavy_minus_sign: | The name of the account. | Current assets | +| `Value` | *double* | :heavy_minus_sign: | The amount or value of the item | 1000 | +| `Items` | *object* | :heavy_minus_sign: | A list of balance sheet accounts | | \ No newline at end of file diff --git a/docs/Models/Components/BalanceSheetFilter.md b/docs/Models/Components/BalanceSheetFilter.md new file mode 100644 index 00000000..d4b99780 --- /dev/null +++ b/docs/Models/Components/BalanceSheetFilter.md @@ -0,0 +1,11 @@ +# BalanceSheetFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `StartDate` | *string* | :heavy_minus_sign: | The start date of the period to include in the resource. | 2021-01-01 | +| `EndDate` | *string* | :heavy_minus_sign: | The end date of the period to include in the resource. | 2021-12-31 | +| `PeriodCount` | *long* | :heavy_minus_sign: | The number of periods to include in the resource. | 3 | +| `PeriodType` | [PeriodType](../../Models/Components/PeriodType.md) | :heavy_minus_sign: | The type of period to include in the resource: month, quarter, year. | month | \ No newline at end of file diff --git a/docs/Models/Components/BalanceSheetLiabilitiesAccount.md b/docs/Models/Components/BalanceSheetLiabilitiesAccount.md new file mode 100644 index 00000000..fa16ba9d --- /dev/null +++ b/docs/Models/Components/BalanceSheetLiabilitiesAccount.md @@ -0,0 +1,14 @@ +# BalanceSheetLiabilitiesAccount + +A balance sheet liabilities account represents the financial position of a company at a specific point in time. + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | +| `AccountId` | *string* | :heavy_minus_sign: | The unique identifier for the account. | 123456 | +| `Code` | *string* | :heavy_minus_sign: | The account code of the account | 1100 | +| `Name` | *string* | :heavy_minus_sign: | The name of the account. | Current assets | +| `Value` | *double* | :heavy_minus_sign: | The amount or value of the item | 1000 | +| `Items` | *object* | :heavy_minus_sign: | A list of balance sheet accounts | | \ No newline at end of file diff --git a/docs/Models/Components/BalanceSheetUncategorizedItemsAccount.md b/docs/Models/Components/BalanceSheetUncategorizedItemsAccount.md new file mode 100644 index 00000000..15ffead1 --- /dev/null +++ b/docs/Models/Components/BalanceSheetUncategorizedItemsAccount.md @@ -0,0 +1,14 @@ +# BalanceSheetUncategorizedItemsAccount + +A balance sheet uncategorized items account represents the financial position of a company at a specific point in time. + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | +| `AccountId` | *string* | :heavy_minus_sign: | The unique identifier for the account. | 123456 | +| `Code` | *string* | :heavy_minus_sign: | The account code of the account | 1100 | +| `Name` | *string* | :heavy_minus_sign: | The name of the account. | Current assets | +| `Value` | *double* | :heavy_minus_sign: | The amount or value of the item | 1000 | +| `Items` | *object* | :heavy_minus_sign: | A list of balance sheet accounts | | \ No newline at end of file diff --git a/docs/Models/Components/BankAccount.md b/docs/Models/Components/BankAccount.md new file mode 100644 index 00000000..d63b71bf --- /dev/null +++ b/docs/Models/Components/BankAccount.md @@ -0,0 +1,18 @@ +# BankAccount + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `BankName` | *string* | :heavy_minus_sign: | The name of the bank | Monzo | +| `AccountNumber` | *string* | :heavy_minus_sign: | A bank account number is a number that is tied to your bank account. If you have several bank accounts, such as personal, joint, business (and so on), each account will have a different account number. | 123465 | +| `AccountName` | *string* | :heavy_minus_sign: | The name which you used in opening your bank account. | SPACEX LLC | +| `AccountType` | [AccountType](../../Models/Components/AccountType.md) | :heavy_minus_sign: | The type of bank account. | credit_card | +| `Iban` | *string* | :heavy_minus_sign: | The International Bank Account Number (IBAN). | CH2989144532982975332 | +| `Bic` | *string* | :heavy_minus_sign: | The Bank Identifier Code (BIC). | AUDSCHGGXXX | +| `RoutingNumber` | *string* | :heavy_minus_sign: | A routing number is a nine-digit code used to identify a financial institution in the United States. | 012345678 | +| `BsbNumber` | *string* | :heavy_minus_sign: | A BSB is a 6 digit numeric code used for identifying the branch of an Australian or New Zealand bank or financial institution. | 062-001 | +| `BranchIdentifier` | *string* | :heavy_minus_sign: | A branch identifier is a unique identifier for a branch of a bank or financial institution. | 001 | +| `BankCode` | *string* | :heavy_minus_sign: | A bank code is a code assigned by a central bank, a bank supervisory body or a Bankers Association in a country to all its licensed member banks or financial institutions. | BNH | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | \ No newline at end of file diff --git a/docs/Models/Components/Benefit.md b/docs/Models/Components/Benefit.md new file mode 100644 index 00000000..d98bc007 --- /dev/null +++ b/docs/Models/Components/Benefit.md @@ -0,0 +1,10 @@ +# Benefit + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `Name` | *string* | :heavy_minus_sign: | The name of the benefit. | Health Insurance | +| `EmployeeDeduction` | *double* | :heavy_minus_sign: | The amount deducted for benefit. | 142.94 | +| `EmployerContribution` | *double* | :heavy_minus_sign: | The amount of employer contribution. | 141.14 | \ No newline at end of file diff --git a/docs/Models/Components/Bill.md b/docs/Models/Components/Bill.md new file mode 100644 index 00000000..0868d4a3 --- /dev/null +++ b/docs/Models/Components/Bill.md @@ -0,0 +1,46 @@ +# Bill + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `DownstreamId` | *string* | :heavy_minus_sign: | The third-party API ID of original entity | 12345 | +| `BillNumber` | *string* | :heavy_minus_sign: | Reference to supplier bill number | 10001 | +| `Supplier` | [LinkedSupplier](../../Models/Components/LinkedSupplier.md) | :heavy_minus_sign: | The supplier this entity is linked to. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `TaxInclusive` | *bool* | :heavy_minus_sign: | Amounts are including tax | true | +| `BillDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | Date bill was issued - YYYY-MM-DD. | 2020-09-30 | +| `DueDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The due date is the date on which a payment is scheduled to be received - YYYY-MM-DD. | 2020-10-30 | +| `PaidDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The paid date is the date on which a payment was sent to the supplier - YYYY-MM-DD. | 2020-10-30 | +| `PoNumber` | *string* | :heavy_minus_sign: | A PO Number uniquely identifies a purchase order and is generally defined by the buyer. The buyer will match the PO number in the invoice to the Purchase Order. | 90000117 | +| `Reference` | *string* | :heavy_minus_sign: | Optional bill reference. | 123456 | +| `LineItems` | List<[BillLineItem](../../Models/Components/BillLineItem.md)> | :heavy_minus_sign: | N/A | | +| `Terms` | *string* | :heavy_minus_sign: | Terms of payment. | Net 30 days | +| `Balance` | *double* | :heavy_minus_sign: | Balance of bill due. | 27500 | +| `Deposit` | *double* | :heavy_minus_sign: | Amount of deposit made to this bill. | 0 | +| `SubTotal` | *double* | :heavy_minus_sign: | Sub-total amount, normally before tax. | 27500 | +| `TotalTax` | *double* | :heavy_minus_sign: | Total tax amount applied to this bill. | 2500 | +| `Total` | *double* | :heavy_minus_sign: | Total amount of bill, including tax. | 27500 | +| `TaxCode` | *string* | :heavy_minus_sign: | Applicable tax id/code override if tax is not supplied on a line item basis. | 1234 | +| `Notes` | *string* | :heavy_minus_sign: | N/A | Some notes about this bill. | +| `Status` | [BillStatus](../../Models/Components/BillStatus.md) | :heavy_minus_sign: | Invoice status | draft | +| `LedgerAccount` | [LinkedLedgerAccount](../../Models/Components/LinkedLedgerAccount.md) | :heavy_minus_sign: | N/A | | +| `PaymentMethod` | *string* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `Channel` | *string* | :heavy_minus_sign: | The channel through which the transaction is processed. | email | +| `Language` | *string* | :heavy_minus_sign: | language code according to ISO 639-1. For the United States - EN | EN | +| `AccountingByRow` | *bool* | :heavy_minus_sign: | Indicates if accounting by row is used (true) or not (false). Accounting by row means that a separate ledger transaction is created for each row. | false | +| `BankAccount` | [BankAccount](../../Models/Components/BankAccount.md) | :heavy_minus_sign: | N/A | | +| `DiscountPercentage` | *double* | :heavy_minus_sign: | Discount percentage applied to this transaction. | 5.5 | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | +| `AccountingPeriod` | *string* | :heavy_minus_sign: | Accounting period | 01-24 | \ No newline at end of file diff --git a/docs/Models/Components/BillInput.md b/docs/Models/Components/BillInput.md new file mode 100644 index 00000000..3ec36344 --- /dev/null +++ b/docs/Models/Components/BillInput.md @@ -0,0 +1,39 @@ +# BillInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `BillNumber` | *string* | :heavy_minus_sign: | Reference to supplier bill number | 10001 | +| `Supplier` | [LinkedSupplierInput](../../Models/Components/LinkedSupplierInput.md) | :heavy_minus_sign: | The supplier this entity is linked to. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `TaxInclusive` | *bool* | :heavy_minus_sign: | Amounts are including tax | true | +| `BillDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | Date bill was issued - YYYY-MM-DD. | 2020-09-30 | +| `DueDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The due date is the date on which a payment is scheduled to be received - YYYY-MM-DD. | 2020-10-30 | +| `PaidDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The paid date is the date on which a payment was sent to the supplier - YYYY-MM-DD. | 2020-10-30 | +| `PoNumber` | *string* | :heavy_minus_sign: | A PO Number uniquely identifies a purchase order and is generally defined by the buyer. The buyer will match the PO number in the invoice to the Purchase Order. | 90000117 | +| `Reference` | *string* | :heavy_minus_sign: | Optional bill reference. | 123456 | +| `LineItems` | List<[BillLineItemInput](../../Models/Components/BillLineItemInput.md)> | :heavy_minus_sign: | N/A | | +| `Terms` | *string* | :heavy_minus_sign: | Terms of payment. | Net 30 days | +| `Balance` | *double* | :heavy_minus_sign: | Balance of bill due. | 27500 | +| `Deposit` | *double* | :heavy_minus_sign: | Amount of deposit made to this bill. | 0 | +| `SubTotal` | *double* | :heavy_minus_sign: | Sub-total amount, normally before tax. | 27500 | +| `TotalTax` | *double* | :heavy_minus_sign: | Total tax amount applied to this bill. | 2500 | +| `Total` | *double* | :heavy_minus_sign: | Total amount of bill, including tax. | 27500 | +| `TaxCode` | *string* | :heavy_minus_sign: | Applicable tax id/code override if tax is not supplied on a line item basis. | 1234 | +| `Notes` | *string* | :heavy_minus_sign: | N/A | Some notes about this bill. | +| `Status` | [BillStatus](../../Models/Components/BillStatus.md) | :heavy_minus_sign: | Invoice status | draft | +| `LedgerAccount` | [LinkedLedgerAccountInput](../../Models/Components/LinkedLedgerAccountInput.md) | :heavy_minus_sign: | N/A | | +| `PaymentMethod` | *string* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `Channel` | *string* | :heavy_minus_sign: | The channel through which the transaction is processed. | email | +| `Language` | *string* | :heavy_minus_sign: | language code according to ISO 639-1. For the United States - EN | EN | +| `AccountingByRow` | *bool* | :heavy_minus_sign: | Indicates if accounting by row is used (true) or not (false). Accounting by row means that a separate ledger transaction is created for each row. | false | +| `BankAccount` | [BankAccount](../../Models/Components/BankAccount.md) | :heavy_minus_sign: | N/A | | +| `DiscountPercentage` | *double* | :heavy_minus_sign: | Discount percentage applied to this transaction. | 5.5 | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | +| `AccountingPeriod` | *string* | :heavy_minus_sign: | Accounting period | 01-24 | \ No newline at end of file diff --git a/docs/Models/Components/BillLineItem.md b/docs/Models/Components/BillLineItem.md new file mode 100644 index 00000000..3d2d7d27 --- /dev/null +++ b/docs/Models/Components/BillLineItem.md @@ -0,0 +1,31 @@ +# BillLineItem + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `RowId` | *string* | :heavy_minus_sign: | Row ID | 12345 | +| `Code` | *string* | :heavy_minus_sign: | User defined item code | 120-C | +| `LineNumber` | *long* | :heavy_minus_sign: | Line number in the invoice | 1 | +| `Description` | *string* | :heavy_minus_sign: | User defined description | Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection. | +| `Type` | [BillLineItemType](../../Models/Components/BillLineItemType.md) | :heavy_minus_sign: | Bill Line Item type | expense_account | +| `TaxAmount` | *double* | :heavy_minus_sign: | Tax amount | 27500 | +| `TotalAmount` | *double* | :heavy_minus_sign: | Total amount of the line item | 27500 | +| `Quantity` | *double* | :heavy_minus_sign: | N/A | 1 | +| `UnitPrice` | *double* | :heavy_minus_sign: | N/A | 27500.5 | +| `UnitOfMeasure` | *string* | :heavy_minus_sign: | Description of the unit type the item is sold as, ie: kg, hour. | pc. | +| `DiscountPercentage` | *double* | :heavy_minus_sign: | Discount percentage applied to the line item when supported downstream. | 0.01 | +| `DiscountAmount` | *double* | :heavy_minus_sign: | Discount amount applied to the line item when supported downstream. | 19.99 | +| `LocationId` | *string* | :heavy_minus_sign: | Location id | 1234 | +| `DepartmentId` | *string* | :heavy_minus_sign: | Department id | 1234 | +| `Item` | [LinkedInvoiceItem](../../Models/Components/LinkedInvoiceItem.md) | :heavy_minus_sign: | N/A | | +| `TaxRate` | [LinkedTaxRate](../../Models/Components/LinkedTaxRate.md) | :heavy_minus_sign: | N/A | | +| `LedgerAccount` | [LinkedLedgerAccount](../../Models/Components/LinkedLedgerAccount.md) | :heavy_minus_sign: | N/A | | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/BillLineItemInput.md b/docs/Models/Components/BillLineItemInput.md new file mode 100644 index 00000000..301691df --- /dev/null +++ b/docs/Models/Components/BillLineItemInput.md @@ -0,0 +1,26 @@ +# BillLineItemInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | +| `RowId` | *string* | :heavy_minus_sign: | Row ID | 12345 | +| `Code` | *string* | :heavy_minus_sign: | User defined item code | 120-C | +| `LineNumber` | *long* | :heavy_minus_sign: | Line number in the invoice | 1 | +| `Description` | *string* | :heavy_minus_sign: | User defined description | Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection. | +| `Type` | [BillLineItemType](../../Models/Components/BillLineItemType.md) | :heavy_minus_sign: | Bill Line Item type | expense_account | +| `TaxAmount` | *double* | :heavy_minus_sign: | Tax amount | 27500 | +| `TotalAmount` | *double* | :heavy_minus_sign: | Total amount of the line item | 27500 | +| `Quantity` | *double* | :heavy_minus_sign: | N/A | 1 | +| `UnitPrice` | *double* | :heavy_minus_sign: | N/A | 27500.5 | +| `UnitOfMeasure` | *string* | :heavy_minus_sign: | Description of the unit type the item is sold as, ie: kg, hour. | pc. | +| `DiscountPercentage` | *double* | :heavy_minus_sign: | Discount percentage applied to the line item when supported downstream. | 0.01 | +| `DiscountAmount` | *double* | :heavy_minus_sign: | Discount amount applied to the line item when supported downstream. | 19.99 | +| `LocationId` | *string* | :heavy_minus_sign: | Location id | 1234 | +| `DepartmentId` | *string* | :heavy_minus_sign: | Department id | 1234 | +| `Item` | [LinkedInvoiceItem](../../Models/Components/LinkedInvoiceItem.md) | :heavy_minus_sign: | N/A | | +| `TaxRate` | [LinkedTaxRateInput](../../Models/Components/LinkedTaxRateInput.md) | :heavy_minus_sign: | N/A | | +| `LedgerAccount` | [LinkedLedgerAccountInput](../../Models/Components/LinkedLedgerAccountInput.md) | :heavy_minus_sign: | N/A | | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | \ No newline at end of file diff --git a/docs/Models/Components/BillLineItemType.md b/docs/Models/Components/BillLineItemType.md new file mode 100644 index 00000000..62cfacd2 --- /dev/null +++ b/docs/Models/Components/BillLineItemType.md @@ -0,0 +1,12 @@ +# BillLineItemType + +Bill Line Item type + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `ExpenseItem` | expense_item | +| `ExpenseAccount` | expense_account | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/BillPayment.md b/docs/Models/Components/BillPayment.md new file mode 100644 index 00000000..d26f2eff --- /dev/null +++ b/docs/Models/Components/BillPayment.md @@ -0,0 +1,36 @@ +# BillPayment + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `DownstreamId` | *string* | :heavy_minus_sign: | The third-party API ID of original entity | 12345 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `TotalAmount` | *double* | :heavy_check_mark: | The total amount of the transaction | 49.99 | +| `Reference` | *string* | :heavy_minus_sign: | Optional transaction reference message ie: Debit remittance detail. | 123456 | +| `PaymentMethod` | *string* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `PaymentMethodReference` | *string* | :heavy_minus_sign: | Optional reference message returned by payment method on processing | 123456 | +| `PaymentMethodId` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Account` | [LinkedLedgerAccount](../../Models/Components/LinkedLedgerAccount.md) | :heavy_minus_sign: | N/A | | +| `TransactionDate` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_check_mark: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `Supplier` | [LinkedSupplier](../../Models/Components/LinkedSupplier.md) | :heavy_minus_sign: | The supplier this entity is linked to. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `Reconciled` | *bool* | :heavy_minus_sign: | Indicates if the transaction has been reconciled. | true | +| `Status` | [PaymentStatus](../../Models/Components/PaymentStatus.md) | :heavy_minus_sign: | Status of payment | authorised | +| `Type` | [BillPaymentType](../../Models/Components/BillPaymentType.md) | :heavy_minus_sign: | Type of payment | accounts_payable | +| `Allocations` | List<[Allocations](../../Models/Components/Allocations.md)> | :heavy_minus_sign: | N/A | | +| `Note` | *string* | :heavy_minus_sign: | Note associated with the transaction | Some notes about this transaction | +| `Number` | *string* | :heavy_minus_sign: | Number associated with the transaction | 123456 | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `DisplayId` | *string* | :heavy_minus_sign: | Id to be displayed. | 123456 | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/BillPaymentAllocationType.md b/docs/Models/Components/BillPaymentAllocationType.md new file mode 100644 index 00000000..51803dee --- /dev/null +++ b/docs/Models/Components/BillPaymentAllocationType.md @@ -0,0 +1,16 @@ +# BillPaymentAllocationType + +Type of entity this payment should be attributed to. + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `Bill` | bill | +| `Expense` | expense | +| `CreditMemo` | credit_memo | +| `OverPayment` | over_payment | +| `PrePayment` | pre_payment | +| `JournalEntry` | journal_entry | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/BillPaymentAllocations.md b/docs/Models/Components/BillPaymentAllocations.md new file mode 100644 index 00000000..6862f396 --- /dev/null +++ b/docs/Models/Components/BillPaymentAllocations.md @@ -0,0 +1,11 @@ +# BillPaymentAllocations + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Type` | [BillPaymentAllocationType](../../Models/Components/BillPaymentAllocationType.md) | :heavy_minus_sign: | Type of entity this payment should be attributed to. | bill | +| `Amount` | *double* | :heavy_minus_sign: | Amount of payment that should be attributed to this allocation. If null, the total_amount will be used. | 49.99 | +| `AllocationId` | *string* | :heavy_minus_sign: | Unique identifier of the allocation | 123456 | \ No newline at end of file diff --git a/docs/Models/Components/BillPaymentInput.md b/docs/Models/Components/BillPaymentInput.md new file mode 100644 index 00000000..800982cf --- /dev/null +++ b/docs/Models/Components/BillPaymentInput.md @@ -0,0 +1,29 @@ +# BillPaymentInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `TotalAmount` | *double* | :heavy_check_mark: | The total amount of the transaction | 49.99 | +| `Reference` | *string* | :heavy_minus_sign: | Optional transaction reference message ie: Debit remittance detail. | 123456 | +| `PaymentMethod` | *string* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `PaymentMethodReference` | *string* | :heavy_minus_sign: | Optional reference message returned by payment method on processing | 123456 | +| `PaymentMethodId` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Account` | [LinkedLedgerAccountInput](../../Models/Components/LinkedLedgerAccountInput.md) | :heavy_minus_sign: | N/A | | +| `TransactionDate` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_check_mark: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `Supplier` | [LinkedSupplierInput](../../Models/Components/LinkedSupplierInput.md) | :heavy_minus_sign: | The supplier this entity is linked to. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `Reconciled` | *bool* | :heavy_minus_sign: | Indicates if the transaction has been reconciled. | true | +| `Status` | [PaymentStatus](../../Models/Components/PaymentStatus.md) | :heavy_minus_sign: | Status of payment | authorised | +| `Type` | [BillPaymentType](../../Models/Components/BillPaymentType.md) | :heavy_minus_sign: | Type of payment | accounts_payable | +| `Allocations` | List<[BillPaymentAllocations](../../Models/Components/BillPaymentAllocations.md)> | :heavy_minus_sign: | N/A | | +| `Note` | *string* | :heavy_minus_sign: | Note associated with the transaction | Some notes about this transaction | +| `Number` | *string* | :heavy_minus_sign: | Number associated with the transaction | 123456 | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `DisplayId` | *string* | :heavy_minus_sign: | Id to be displayed. | 123456 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/BillPaymentType.md b/docs/Models/Components/BillPaymentType.md new file mode 100644 index 00000000..860496c9 --- /dev/null +++ b/docs/Models/Components/BillPaymentType.md @@ -0,0 +1,13 @@ +# BillPaymentType + +Type of payment + + +## Values + +| Name | Value | +| ---------------------------- | ---------------------------- | +| `AccountsPayableCredit` | accounts_payable_credit | +| `AccountsPayableOverpayment` | accounts_payable_overpayment | +| `AccountsPayablePrepayment` | accounts_payable_prepayment | +| `AccountsPayable` | accounts_payable | \ No newline at end of file diff --git a/docs/Models/Components/BillStatus.md b/docs/Models/Components/BillStatus.md new file mode 100644 index 00000000..b19391b1 --- /dev/null +++ b/docs/Models/Components/BillStatus.md @@ -0,0 +1,17 @@ +# BillStatus + +Invoice status + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `Draft` | draft | +| `Submitted` | submitted | +| `Authorised` | authorised | +| `PartiallyPaid` | partially_paid | +| `Paid` | paid | +| `Void` | void | +| `Credit` | credit | +| `Deleted` | deleted | \ No newline at end of file diff --git a/docs/Models/Components/BillsFilter.md b/docs/Models/Components/BillsFilter.md new file mode 100644 index 00000000..12dddbed --- /dev/null +++ b/docs/Models/Components/BillsFilter.md @@ -0,0 +1,8 @@ +# BillsFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `UpdatedSince` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/BillsSort.md b/docs/Models/Components/BillsSort.md new file mode 100644 index 00000000..1c5e25dd --- /dev/null +++ b/docs/Models/Components/BillsSort.md @@ -0,0 +1,9 @@ +# BillsSort + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `By` | [By](../../Models/Components/By.md) | :heavy_minus_sign: | The field on which to sort the Bills | updated_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/Blocks.md b/docs/Models/Components/Blocks.md new file mode 100644 index 00000000..59d0bb09 --- /dev/null +++ b/docs/Models/Components/Blocks.md @@ -0,0 +1,9 @@ +# Blocks + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `Title` | *string* | :heavy_minus_sign: | N/A | +| `Content` | *string* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/Branch.md b/docs/Models/Components/Branch.md new file mode 100644 index 00000000..47e88eb0 --- /dev/null +++ b/docs/Models/Components/Branch.md @@ -0,0 +1,11 @@ +# Branch + +Details of the branch for which the job is created. + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | Name of the branch. | HQ NY | \ No newline at end of file diff --git a/docs/Models/Components/By.md b/docs/Models/Components/By.md new file mode 100644 index 00000000..997a9c6e --- /dev/null +++ b/docs/Models/Components/By.md @@ -0,0 +1,11 @@ +# By + +The field on which to sort the Bills + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `UpdatedAt` | updated_at | +| `CreatedAt` | created_at | \ No newline at end of file diff --git a/docs/Models/Components/Categories.md b/docs/Models/Components/Categories.md new file mode 100644 index 00000000..0431f444 --- /dev/null +++ b/docs/Models/Components/Categories.md @@ -0,0 +1,9 @@ +# Categories + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `Id` | *string* | :heavy_minus_sign: | N/A | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the category. | Finance Charges Expense | \ No newline at end of file diff --git a/docs/Models/Components/Classification.md b/docs/Models/Components/Classification.md new file mode 100644 index 00000000..2749d139 --- /dev/null +++ b/docs/Models/Components/Classification.md @@ -0,0 +1,19 @@ +# Classification + +The classification of account. + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `Asset` | asset | +| `Equity` | equity | +| `Expense` | expense | +| `Liability` | liability | +| `Revenue` | revenue | +| `Income` | income | +| `OtherIncome` | other_income | +| `OtherExpense` | other_expense | +| `CostsOfSales` | costs_of_sales | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/Collection.md b/docs/Models/Components/Collection.md new file mode 100644 index 00000000..daee079e --- /dev/null +++ b/docs/Models/Components/Collection.md @@ -0,0 +1,15 @@ +# Collection + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `ParentId` | *string* | :heavy_minus_sign: | The collections's parent ID | 12345 | +| `Type` | *string* | :heavy_minus_sign: | The collections's type | Technical | +| `Name` | *string* | :heavy_minus_sign: | Name of the collection | Main IT Issues | +| `Description` | *string* | :heavy_minus_sign: | Description of the collection | IT Issues | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/CollectionTag.md b/docs/Models/Components/CollectionTag.md new file mode 100644 index 00000000..195c7300 --- /dev/null +++ b/docs/Models/Components/CollectionTag.md @@ -0,0 +1,10 @@ +# CollectionTag + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the tag. | User Experience | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | \ No newline at end of file diff --git a/docs/Models/Components/CollectionTagInput.md b/docs/Models/Components/CollectionTagInput.md new file mode 100644 index 00000000..f837276a --- /dev/null +++ b/docs/Models/Components/CollectionTagInput.md @@ -0,0 +1,8 @@ +# CollectionTagInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | \ No newline at end of file diff --git a/docs/Models/Components/CollectionTicketComment.md b/docs/Models/Components/CollectionTicketComment.md new file mode 100644 index 00000000..204cea0d --- /dev/null +++ b/docs/Models/Components/CollectionTicketComment.md @@ -0,0 +1,14 @@ +# CollectionTicketComment + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Body` | *string* | :heavy_minus_sign: | Body of the comment | What internet provider do you use? | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/CollectionTicketCommentInput.md b/docs/Models/Components/CollectionTicketCommentInput.md new file mode 100644 index 00000000..9f8f2c8b --- /dev/null +++ b/docs/Models/Components/CollectionTicketCommentInput.md @@ -0,0 +1,9 @@ +# CollectionTicketCommentInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Body` | *string* | :heavy_minus_sign: | Body of the comment | What internet provider do you use? | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/CollectionUser.md b/docs/Models/Components/CollectionUser.md new file mode 100644 index 00000000..96062c8c --- /dev/null +++ b/docs/Models/Components/CollectionUser.md @@ -0,0 +1,16 @@ +# CollectionUser + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | Full name of the user | Elon Musk | +| `FirstName` | *string* | :heavy_minus_sign: | First name of the user | Elon | +| `LastName` | *string* | :heavy_minus_sign: | Last name of the user | Musk | +| `Email` | *string* | :heavy_minus_sign: | Email address of the user | elon@musk.com | +| `PhotoUrl` | *string* | :heavy_minus_sign: | The URL of the photo of a person. | https://unavatar.io/elon-musk | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/CollectionsSort.md b/docs/Models/Components/CollectionsSort.md new file mode 100644 index 00000000..c20f1bd6 --- /dev/null +++ b/docs/Models/Components/CollectionsSort.md @@ -0,0 +1,9 @@ +# CollectionsSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `By` | [CollectionsSortBy](../../Models/Components/CollectionsSortBy.md) | :heavy_minus_sign: | The field on which to sort the Collections | name | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/CollectionsSortBy.md b/docs/Models/Components/CollectionsSortBy.md new file mode 100644 index 00000000..220c2461 --- /dev/null +++ b/docs/Models/Components/CollectionsSortBy.md @@ -0,0 +1,12 @@ +# CollectionsSortBy + +The field on which to sort the Collections + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Name` | name | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | \ No newline at end of file diff --git a/docs/Models/Components/CommentsSort.md b/docs/Models/Components/CommentsSort.md new file mode 100644 index 00000000..c48262bb --- /dev/null +++ b/docs/Models/Components/CommentsSort.md @@ -0,0 +1,9 @@ +# CommentsSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `By` | [CommentsSortBy](../../Models/Components/CommentsSortBy.md) | :heavy_minus_sign: | The field on which to sort the Comments | created_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/CommentsSortBy.md b/docs/Models/Components/CommentsSortBy.md new file mode 100644 index 00000000..09afdc02 --- /dev/null +++ b/docs/Models/Components/CommentsSortBy.md @@ -0,0 +1,11 @@ +# CommentsSortBy + +The field on which to sort the Comments + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | \ No newline at end of file diff --git a/docs/Models/Components/CompaniesFilter.md b/docs/Models/Components/CompaniesFilter.md new file mode 100644 index 00000000..ffebb242 --- /dev/null +++ b/docs/Models/Components/CompaniesFilter.md @@ -0,0 +1,8 @@ +# CompaniesFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `Name` | *string* | :heavy_minus_sign: | Name of the company to filter on | SpaceX | \ No newline at end of file diff --git a/docs/Models/Components/CompaniesSort.md b/docs/Models/Components/CompaniesSort.md new file mode 100644 index 00000000..c76d8a9c --- /dev/null +++ b/docs/Models/Components/CompaniesSort.md @@ -0,0 +1,9 @@ +# CompaniesSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `By` | [CompaniesSortBy](../../Models/Components/CompaniesSortBy.md) | :heavy_minus_sign: | The field on which to sort the Companies | created_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/CompaniesSortBy.md b/docs/Models/Components/CompaniesSortBy.md new file mode 100644 index 00000000..d43d0fe7 --- /dev/null +++ b/docs/Models/Components/CompaniesSortBy.md @@ -0,0 +1,12 @@ +# CompaniesSortBy + +The field on which to sort the Companies + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | +| `Name` | name | \ No newline at end of file diff --git a/docs/Models/Components/Company.md b/docs/Models/Components/Company.md new file mode 100644 index 00000000..ced9e65c --- /dev/null +++ b/docs/Models/Components/Company.md @@ -0,0 +1,49 @@ +# Company + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | Unique identifier for the company | 12345 | +| `Name` | *string* | :heavy_check_mark: | Name of the company | SpaceX | +| `InteractionCount` | *long* | :heavy_minus_sign: | Number of interactions | 1 | +| `OwnerId` | *string* | :heavy_minus_sign: | Owner ID | 12345 | +| `Image` | *string* | :heavy_minus_sign: | The Image URL of the company | https://www.spacex.com/static/images/share.jpg | +| `Description` | *string* | :heavy_minus_sign: | A description of the company | Space Exploration Technologies Corp. is an American aerospace manufacturer, space transportation services and communications company headquartered in Hawthorne, California. | +| `VatNumber` | *string* | :heavy_minus_sign: | The VAT number of the company | BE0689615164 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Status` | *string* | :heavy_minus_sign: | The status of the company | Open | +| `Fax` | *string* | :heavy_minus_sign: | The fax number of the company | +12129876543 | +| `AnnualRevenue` | *string* | :heavy_minus_sign: | The annual revenue of the company | +$35m | +| `NumberOfEmployees` | *string* | :heavy_minus_sign: | Number of employees | 500-1000 | +| `Industry` | *string* | :heavy_minus_sign: | The industry represents the type of business the company is in. | Apparel | +| `Ownership` | *string* | :heavy_minus_sign: | The ownership indicates the type of ownership of the company. | Public | +| `SalesTaxNumber` | *string* | :heavy_minus_sign: | A sales tax number is a unique number that identifies a company for tax purposes. | 12456EN | +| `PayeeNumber` | *string* | :heavy_minus_sign: | A payee number is a unique number that identifies a payee for tax purposes. | 78932EN | +| `AbnOrTfn` | *string* | :heavy_minus_sign: | An ABN is necessary for operating a business, while a TFN (Tax File Number) is required for any person working in Australia. | 46 115 614 695 | +| `AbnBranch` | *string* | :heavy_minus_sign: | An ABN Branch (also known as a GST Branch) is used if part of your business needs to account for GST separately from its parent entity. | 123 | +| `Acn` | *string* | :heavy_minus_sign: | The Australian Company Number (ACN) is a nine digit number with the last digit being a check digit calculated using a modified modulus 10 calculation. ASIC has adopted a convention of always printing and displaying the ACN in the format XXX XXX XXX; three blocks of three characters, each block separated by a blank. | XXX XXX XXX | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the person. | Elon | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the person. | Musk | +| `ParentId` | *string* | :heavy_minus_sign: | Parent ID | 22345 | +| `BankAccounts` | List<[BankAccount](../../Models/Components/BankAccount.md)> | :heavy_minus_sign: | N/A | | +| `Websites` | List<[Website](../../Models/Components/Website.md)> | :heavy_minus_sign: | N/A | | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `SocialLinks` | List<[SocialLink](../../Models/Components/SocialLink.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `RowType` | [CompanyRowType](../../Models/Components/CompanyRowType.md) | :heavy_minus_sign: | N/A | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `Tags` | List<*string*> | :heavy_minus_sign: | N/A | [
"New"
] | +| `ReadOnly` | *bool* | :heavy_minus_sign: | Whether the company is read-only or not | false | +| `LastActivityAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | Last activity date | 2020-09-30T07:43:32.000Z | +| `Deleted` | *bool* | :heavy_minus_sign: | Whether the company is deleted or not | false | +| `Salutation` | *string* | :heavy_minus_sign: | A formal salutation for the person. For example, 'Mr', 'Mrs' | Mr | +| `Birthday` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date of birth of the person. | 2000-08-12 | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | Updated by user ID | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | Created by user ID | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | Last updated date | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | Creation date | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/CompanyInfo.md b/docs/Models/Components/CompanyInfo.md new file mode 100644 index 00000000..3156232a --- /dev/null +++ b/docs/Models/Components/CompanyInfo.md @@ -0,0 +1,29 @@ +# CompanyInfo + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `CompanyName` | *string* | :heavy_minus_sign: | The name of the company. | SpaceX | +| `Status` | [CompanyStatus](../../Models/Components/CompanyStatus.md) | :heavy_minus_sign: | Based on the status some functionality is enabled or disabled. | active | +| `LegalName` | *string* | :heavy_minus_sign: | The legal name of the company | SpaceX Inc. | +| `Country` | *string* | :heavy_minus_sign: | country code according to ISO 3166-1 alpha-2. | US | +| `SalesTaxNumber` | *string* | :heavy_minus_sign: | N/A | 111.222.333 | +| `AutomatedSalesTax` | *bool* | :heavy_minus_sign: | Whether sales tax is calculated automatically for the company | | +| `SalesTaxEnabled` | *bool* | :heavy_minus_sign: | Whether sales tax is enabled for the company | | +| `DefaultSalesTax` | [TaxRate](../../Models/Components/TaxRate.md) | :heavy_minus_sign: | N/A | | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Language` | *string* | :heavy_minus_sign: | language code according to ISO 639-1. For the United States - EN | EN | +| `FiscalYearStartMonth` | [TheStartMonthOfFiscalYear](../../Models/Components/TheStartMonthOfFiscalYear.md) | :heavy_minus_sign: | The start month of fiscal year. | January | +| `CompanyStartDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | Date when company file was created | 2015-06-05 | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/CompanyInput.md b/docs/Models/Components/CompanyInput.md new file mode 100644 index 00000000..31944baa --- /dev/null +++ b/docs/Models/Components/CompanyInput.md @@ -0,0 +1,39 @@ +# CompanyInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_check_mark: | Name of the company | SpaceX | +| `OwnerId` | *string* | :heavy_minus_sign: | Owner ID | 12345 | +| `Image` | *string* | :heavy_minus_sign: | The Image URL of the company | https://www.spacex.com/static/images/share.jpg | +| `Description` | *string* | :heavy_minus_sign: | A description of the company | Space Exploration Technologies Corp. is an American aerospace manufacturer, space transportation services and communications company headquartered in Hawthorne, California. | +| `VatNumber` | *string* | :heavy_minus_sign: | The VAT number of the company | BE0689615164 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Status` | *string* | :heavy_minus_sign: | The status of the company | Open | +| `Fax` | *string* | :heavy_minus_sign: | The fax number of the company | +12129876543 | +| `AnnualRevenue` | *string* | :heavy_minus_sign: | The annual revenue of the company | +$35m | +| `NumberOfEmployees` | *string* | :heavy_minus_sign: | Number of employees | 500-1000 | +| `Industry` | *string* | :heavy_minus_sign: | The industry represents the type of business the company is in. | Apparel | +| `Ownership` | *string* | :heavy_minus_sign: | The ownership indicates the type of ownership of the company. | Public | +| `SalesTaxNumber` | *string* | :heavy_minus_sign: | A sales tax number is a unique number that identifies a company for tax purposes. | 12456EN | +| `PayeeNumber` | *string* | :heavy_minus_sign: | A payee number is a unique number that identifies a payee for tax purposes. | 78932EN | +| `AbnOrTfn` | *string* | :heavy_minus_sign: | An ABN is necessary for operating a business, while a TFN (Tax File Number) is required for any person working in Australia. | 46 115 614 695 | +| `AbnBranch` | *string* | :heavy_minus_sign: | An ABN Branch (also known as a GST Branch) is used if part of your business needs to account for GST separately from its parent entity. | 123 | +| `Acn` | *string* | :heavy_minus_sign: | The Australian Company Number (ACN) is a nine digit number with the last digit being a check digit calculated using a modified modulus 10 calculation. ASIC has adopted a convention of always printing and displaying the ACN in the format XXX XXX XXX; three blocks of three characters, each block separated by a blank. | XXX XXX XXX | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the person. | Elon | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the person. | Musk | +| `BankAccounts` | List<[BankAccount](../../Models/Components/BankAccount.md)> | :heavy_minus_sign: | N/A | | +| `Websites` | List<[Website](../../Models/Components/Website.md)> | :heavy_minus_sign: | N/A | | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `SocialLinks` | List<[SocialLink](../../Models/Components/SocialLink.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `RowType` | [CompanyRowType](../../Models/Components/CompanyRowType.md) | :heavy_minus_sign: | N/A | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `Tags` | List<*string*> | :heavy_minus_sign: | N/A | [
"New"
] | +| `ReadOnly` | *bool* | :heavy_minus_sign: | Whether the company is read-only or not | false | +| `Salutation` | *string* | :heavy_minus_sign: | A formal salutation for the person. For example, 'Mr', 'Mrs' | Mr | +| `Birthday` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date of birth of the person. | 2000-08-12 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/CompanyRowType.md b/docs/Models/Components/CompanyRowType.md new file mode 100644 index 00000000..9ac6cea8 --- /dev/null +++ b/docs/Models/Components/CompanyRowType.md @@ -0,0 +1,9 @@ +# CompanyRowType + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Id` | *string* | :heavy_minus_sign: | N/A | 12345 | +| `Name` | *string* | :heavy_minus_sign: | N/A | Customer Account | \ No newline at end of file diff --git a/docs/Models/Components/CompanyStatus.md b/docs/Models/Components/CompanyStatus.md new file mode 100644 index 00000000..c190b163 --- /dev/null +++ b/docs/Models/Components/CompanyStatus.md @@ -0,0 +1,11 @@ +# CompanyStatus + +Based on the status some functionality is enabled or disabled. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Active` | active | +| `Inactive` | inactive | \ No newline at end of file diff --git a/docs/Models/Components/Compensation.md b/docs/Models/Components/Compensation.md new file mode 100644 index 00000000..31f66799 --- /dev/null +++ b/docs/Models/Components/Compensation.md @@ -0,0 +1,13 @@ +# Compensation + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `EmployeeId` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `NetPay` | *double* | :heavy_minus_sign: | The employee's net pay. Only available when payroll has been processed | 2199.93 | +| `GrossPay` | *double* | :heavy_minus_sign: | The employee's gross pay. Only available when payroll has been processed | 3000 | +| `Taxes` | List<[Tax](../../Models/Components/Tax.md)> | :heavy_minus_sign: | An array of employer and employee taxes for the pay period. | | +| `Deductions` | List<[Deduction](../../Models/Components/Deduction.md)> | :heavy_minus_sign: | An array of employee deductions for the pay period. | | +| `Benefits` | List<[Benefit](../../Models/Components/Benefit.md)> | :heavy_minus_sign: | An array of employee benefits for the pay period. | | \ No newline at end of file diff --git a/docs/Models/Components/Components.md b/docs/Models/Components/Components.md new file mode 100644 index 00000000..18ed5030 --- /dev/null +++ b/docs/Models/Components/Components.md @@ -0,0 +1,11 @@ +# Components + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Id` | *string* | :heavy_minus_sign: | N/A | 10 | +| `Name` | *string* | :heavy_minus_sign: | N/A | GST | +| `Rate` | *double* | :heavy_minus_sign: | N/A | 10 | +| `Compound` | *bool* | :heavy_minus_sign: | N/A | true | \ No newline at end of file diff --git a/docs/Models/Components/Configuration.md b/docs/Models/Components/Configuration.md new file mode 100644 index 00000000..718d1215 --- /dev/null +++ b/docs/Models/Components/Configuration.md @@ -0,0 +1,9 @@ +# Configuration + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `Resource` | *string* | :heavy_minus_sign: | N/A | leads | +| `Defaults` | List<[Defaults](../../Models/Components/Defaults.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/Connection.md b/docs/Models/Components/Connection.md new file mode 100644 index 00000000..42b0d5ed --- /dev/null +++ b/docs/Models/Components/Connection.md @@ -0,0 +1,38 @@ +# Connection + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The unique identifier of the connection. | crm+salesforce | +| `ServiceId` | *string* | :heavy_minus_sign: | The ID of the service this connection belongs to. | salesforce | +| `Name` | *string* | :heavy_minus_sign: | The name of the connection | Salesforce | +| `TagLine` | *string* | :heavy_minus_sign: | N/A | CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial. | +| `UnifiedApi` | *string* | :heavy_minus_sign: | The unified API category where the connection belongs to. | crm | +| `State` | [ConnectionState](../../Models/Components/ConnectionState.md) | :heavy_minus_sign: | [Connection state flow](#section/Connection-state) | authorized | +| `IntegrationState` | [IntegrationState](../../Models/Components/IntegrationState.md) | :heavy_minus_sign: | The current state of the Integration. | configured | +| `AuthType` | [AuthType](../../Models/Components/AuthType.md) | :heavy_minus_sign: | Type of authorization used by the connector | oauth2 | +| `OauthGrantType` | [OAuthGrantType](../../Models/Components/OAuthGrantType.md) | :heavy_minus_sign: | OAuth grant type used by the connector. More info: https://oauth.net/2/grant-types | authorization_code | +| `Status` | [ConnectionStatus](../../Models/Components/ConnectionStatus.md) | :heavy_minus_sign: | Status of the connection. | | +| `Enabled` | *bool* | :heavy_minus_sign: | Whether the connection is enabled or not. You can enable or disable a connection using the Update Connection API. | true | +| `Website` | *string* | :heavy_minus_sign: | The website URL of the connection | https://www.salesforce.com | +| `Icon` | *string* | :heavy_minus_sign: | A visual icon of the connection, that will be shown in the Vault | https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png | +| `Logo` | *string* | :heavy_minus_sign: | The logo of the connection, that will be shown in the Vault | https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg | +| `AuthorizeUrl` | *string* | :heavy_minus_sign: | The OAuth redirect URI. Redirect your users to this URI to let them authorize your app in the connector's UI. Before you can use this URI, you must add `redirect_uri` as a query parameter to the `authorize_url`. Be sure to URL encode the `redirect_uri` part. Your users will be redirected to this `redirect_uri` after they granted access to your app in the connector's UI. | https://unify.apideck.com/vault/authorize/salesforce/?state= | +| `RevokeUrl` | *string* | :heavy_minus_sign: | The OAuth revoke URI. Redirect your users to this URI to revoke this connection. Before you can use this URI, you must add `redirect_uri` as a query parameter. Your users will be redirected to this `redirect_uri` after they granted access to your app in the connector's UI. | https://unify.apideck.com/vault/revoke/salesforce/?state= | +| `Settings` | Dictionary | :heavy_minus_sign: | Connection settings. Values will persist to `form_fields` with corresponding id | {
"instance_url": "https://eu28.salesforce.com",
"api_key": "12345xxxxxx"
} | +| `Metadata` | Dictionary | :heavy_minus_sign: | Attach your own consumer specific metadata | {
"account": {
"name": "My Company",
"id": "c01458a5-7276-41ce-bc19-639906b0450a"
},
"plan": "enterprise"
} | +| `FormFields` | List<[FormField](../../Models/Components/FormField.md)> | :heavy_minus_sign: | The settings that are wanted to create a connection. | [
{
"id": "instance_url",
"label": "Instance url",
"value": "https://eu28.salesforce.com",
"placeholder": "",
"mask": false,
"type": "text",
"required": true,
"disabled": false,
"custom_field": false,
"sensitive": false
},
{
"id": "api_key",
"label": "API Key",
"value": "123455677",
"placeholder": "",
"mask": false,
"type": "text",
"required": true,
"disabled": false,
"custom_field": false,
"sensitive": true
}
] | +| `Configuration` | List<[Configuration](../../Models/Components/Configuration.md)> | :heavy_minus_sign: | N/A | | +| `ConfigurableResources` | List<*string*> | :heavy_minus_sign: | N/A | [
"opportunities",
"companies",
"contacts",
"leads"
] | +| `ResourceSchemaSupport` | List<*string*> | :heavy_minus_sign: | N/A | [
"leads"
] | +| `ResourceSettingsSupport` | List<*string*> | :heavy_minus_sign: | N/A | [
"leads"
] | +| `ValidationSupport` | *bool* | :heavy_minus_sign: | N/A | | +| `SchemaSupport` | *bool* | :heavy_minus_sign: | N/A | | +| `SettingsRequiredForAuthorization` | List<*string*> | :heavy_minus_sign: | List of settings that are required to be configured on integration before authorization can occur | [
"client_id",
"client_secret"
] | +| `Subscriptions` | List<[WebhookSubscription](../../Models/Components/WebhookSubscription.md)> | :heavy_minus_sign: | N/A | | +| `HasGuide` | *bool* | :heavy_minus_sign: | Whether the connector has a guide available in the developer docs or not (https://docs.apideck.com/connectors/{service_id}/docs/consumer+connection). | true | +| `CreatedAt` | *double* | :heavy_minus_sign: | N/A | 1615563533390 | +| `CustomMappings` | List<[CustomMapping](../../Models/Components/CustomMapping.md)> | :heavy_minus_sign: | List of custom mappings configured for this connection | | +| `UpdatedAt` | *double* | :heavy_minus_sign: | N/A | 1616662325753 | \ No newline at end of file diff --git a/docs/Models/Components/ConnectionConfiguration.md b/docs/Models/Components/ConnectionConfiguration.md new file mode 100644 index 00000000..66d24374 --- /dev/null +++ b/docs/Models/Components/ConnectionConfiguration.md @@ -0,0 +1,9 @@ +# ConnectionConfiguration + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `Resource` | *string* | :heavy_minus_sign: | N/A | leads | +| `Defaults` | List<[ConnectionDefaults](../../Models/Components/ConnectionDefaults.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/ConnectionDefaults.md b/docs/Models/Components/ConnectionDefaults.md new file mode 100644 index 00000000..285331cd --- /dev/null +++ b/docs/Models/Components/ConnectionDefaults.md @@ -0,0 +1,10 @@ +# ConnectionDefaults + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | N/A | ProductInterest | +| `Options` | List<[FormFieldOption](../../Models/Components/FormFieldOption.md)> | :heavy_minus_sign: | N/A | | +| `Value` | [ConnectionValue](../../Models/Components/ConnectionValue.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/ConnectionImportData.md b/docs/Models/Components/ConnectionImportData.md new file mode 100644 index 00000000..cb8d0ef3 --- /dev/null +++ b/docs/Models/Components/ConnectionImportData.md @@ -0,0 +1,10 @@ +# ConnectionImportData + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Credentials` | [Credentials](../../Models/Components/Credentials.md) | :heavy_minus_sign: | N/A | {
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.cThIIoDvwdueQB468K5xDc5633seEFoqwxjF_xSJyQQ"
} | +| `Settings` | [ConnectionImportDataSettings](../../Models/Components/ConnectionImportDataSettings.md) | :heavy_minus_sign: | Connection settings. Values will persist to `form_fields` with corresponding id | {
"instance_url": "https://eu28.salesforce.com"
} | +| `Metadata` | Dictionary | :heavy_minus_sign: | Attach your own consumer specific metadata | {
"account": {
"name": "My Company",
"id": "c01458a5-7276-41ce-bc19-639906b0450a"
},
"plan": "enterprise"
} | \ No newline at end of file diff --git a/docs/Models/Components/ConnectionImportDataSettings.md b/docs/Models/Components/ConnectionImportDataSettings.md new file mode 100644 index 00000000..c4e8de2f --- /dev/null +++ b/docs/Models/Components/ConnectionImportDataSettings.md @@ -0,0 +1,9 @@ +# ConnectionImportDataSettings + +Connection settings. Values will persist to `form_fields` with corresponding id + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/Models/Components/ConnectionInput.md b/docs/Models/Components/ConnectionInput.md new file mode 100644 index 00000000..31dae615 --- /dev/null +++ b/docs/Models/Components/ConnectionInput.md @@ -0,0 +1,12 @@ +# ConnectionInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `Enabled` | *bool* | :heavy_minus_sign: | Whether the connection is enabled or not. You can enable or disable a connection using the Update Connection API. | true | +| `Settings` | Dictionary | :heavy_minus_sign: | Connection settings. Values will persist to `form_fields` with corresponding id | {
"instance_url": "https://eu28.salesforce.com",
"api_key": "12345xxxxxx"
} | +| `Metadata` | Dictionary | :heavy_minus_sign: | Attach your own consumer specific metadata | {
"account": {
"name": "My Company",
"id": "c01458a5-7276-41ce-bc19-639906b0450a"
},
"plan": "enterprise"
} | +| `Configuration` | List<[ConnectionConfiguration](../../Models/Components/ConnectionConfiguration.md)> | :heavy_minus_sign: | N/A | | +| `CustomMappings` | List<[CustomMappingInput](../../Models/Components/CustomMappingInput.md)> | :heavy_minus_sign: | List of custom mappings configured for this connection | | \ No newline at end of file diff --git a/docs/Models/Components/ConnectionState.md b/docs/Models/Components/ConnectionState.md new file mode 100644 index 00000000..4188816c --- /dev/null +++ b/docs/Models/Components/ConnectionState.md @@ -0,0 +1,14 @@ +# ConnectionState + +[Connection state flow](#section/Connection-state) + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Available` | available | +| `Callable` | callable | +| `Added` | added | +| `Authorized` | authorized | +| `Invalid` | invalid | \ No newline at end of file diff --git a/docs/Models/Components/ConnectionStatus.md b/docs/Models/Components/ConnectionStatus.md new file mode 100644 index 00000000..73023a8c --- /dev/null +++ b/docs/Models/Components/ConnectionStatus.md @@ -0,0 +1,12 @@ +# ConnectionStatus + +Status of the connection. + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Live` | live | +| `Upcoming` | upcoming | +| `Requested` | requested | \ No newline at end of file diff --git a/docs/Models/Components/ConnectionValue.md b/docs/Models/Components/ConnectionValue.md new file mode 100644 index 00000000..3fecb7c1 --- /dev/null +++ b/docs/Models/Components/ConnectionValue.md @@ -0,0 +1,34 @@ +# ConnectionValue + + +## Supported Types + +### Str + +```csharp +ConnectionValue.CreateStr(/* values here */); +``` + +### Integer + +```csharp +ConnectionValue.CreateInteger(/* values here */); +``` + +### Number + +```csharp +ConnectionValue.CreateNumber(/* values here */); +``` + +### Boolean + +```csharp +ConnectionValue.CreateBoolean(/* values here */); +``` + +### ArrayOfValue5 + +```csharp +ConnectionValue.CreateArrayOfValue5(/* values here */); +``` diff --git a/docs/Models/Components/Connector.md b/docs/Models/Components/Connector.md new file mode 100644 index 00000000..22d178c4 --- /dev/null +++ b/docs/Models/Components/Connector.md @@ -0,0 +1,35 @@ +# Connector + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | ID of the connector. | crm+salesforce | +| `Name` | *string* | :heavy_minus_sign: | Name of the connector. | Salesforce | +| `Status` | [ConnectorStatus](../../Models/Components/ConnectorStatus.md) | :heavy_minus_sign: | Status of the connector. Connectors with status live or beta are callable. | | +| `Description` | *string* | :heavy_minus_sign: | A description of the object. | A description | +| `IconUrl` | *string* | :heavy_minus_sign: | Link to a small square icon for the connector. | https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png | +| `LogoUrl` | *string* | :heavy_minus_sign: | Link to the full logo for the connector. | https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg | +| `WebsiteUrl` | *string* | :heavy_minus_sign: | Link to the connector's website. | https://www.salesforce.com | +| `SignupUrl` | *string* | :heavy_minus_sign: | Link to the connector's signup page. | https://www.salesforce.com/signup | +| `PartnerSignupUrl` | *string* | :heavy_minus_sign: | Link to the connector's partner program signup page. | https://www.salesforce.com/partners | +| `FreeTrialAvailable` | *bool* | :heavy_minus_sign: | Set to `true` when the connector offers a free trial. Use `signup_url` to sign up for a free trial | | +| `AuthType` | [ConnectorAuthType](../../Models/Components/ConnectorAuthType.md) | :heavy_minus_sign: | Type of authorization used by the connector | oauth2 | +| `AuthOnly` | *bool* | :heavy_minus_sign: | Indicates whether a connector only supports authentication. In this case the connector is not mapped to a Unified API, but can be used with the Proxy API | true | +| `BlindMapped` | *bool* | :heavy_minus_sign: | Set to `true` when connector was implemented from downstream docs only and without API access. This state indicates that integration will require Apideck support, and access to downstream API to validate mapping quality. | true | +| `OauthGrantType` | [ConnectorOauthGrantType](../../Models/Components/ConnectorOauthGrantType.md) | :heavy_minus_sign: | OAuth grant type used by the connector. More info: https://oauth.net/2/grant-types | authorization_code | +| `OauthCredentialsSource` | [OauthCredentialsSource](../../Models/Components/OauthCredentialsSource.md) | :heavy_minus_sign: | Location of the OAuth client credentials. For most connectors the OAuth client credentials are stored on integration and managed by the application owner. For others they are stored on connection and managed by the consumer in Vault. | integration | +| `OauthScopes` | List<[OauthScopes](../../Models/Components/OauthScopes.md)> | :heavy_minus_sign: | List of OAuth Scopes available for this connector. | | +| `CustomScopes` | *bool* | :heavy_minus_sign: | Set to `true` when connector allows the definition of custom scopes. | true | +| `HasSandboxCredentials` | *bool* | :heavy_minus_sign: | Indicates whether Apideck Sandbox OAuth credentials are available. | true | +| `Settings` | List<[ConnectorSetting](../../Models/Components/ConnectorSetting.md)> | :heavy_minus_sign: | N/A | | +| `ServiceId` | *string* | :heavy_minus_sign: | Service provider identifier | close | +| `UnifiedApis` | List<[UnifiedApis](../../Models/Components/UnifiedApis.md)> | :heavy_minus_sign: | List of Unified APIs that feature this connector. | | +| `SupportedResources` | List<[LinkedConnectorResource](../../Models/Components/LinkedConnectorResource.md)> | :heavy_minus_sign: | List of resources that are supported on the connector. | | +| `ConfigurableResources` | List<*string*> | :heavy_minus_sign: | List of resources that have settings that can be configured. | [
"leads",
"companies"
] | +| `SupportedEvents` | List<[ConnectorEvent](../../Models/Components/ConnectorEvent.md)> | :heavy_minus_sign: | List of events that are supported on the connector across all Unified APIs. | | +| `WebhookSupport` | [WebhookSupport](../../Models/Components/WebhookSupport.md) | :heavy_minus_sign: | How webhooks are supported for the connector. Sometimes the connector natively supports webhooks, other times Apideck virtualizes them based on polling. | | +| `SchemaSupport` | [SchemaSupport](../../Models/Components/SchemaSupport.md) | :heavy_minus_sign: | When a connector has schema_support, a call can be made to retrieve a json schema that describes a downstream resource. | | +| `Docs` | List<[ConnectorDoc](../../Models/Components/ConnectorDoc.md)> | :heavy_minus_sign: | N/A | | +| `TlsSupport` | [TlsSupport](../../Models/Components/TlsSupport.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/ConnectorAuthType.md b/docs/Models/Components/ConnectorAuthType.md new file mode 100644 index 00000000..cdbca055 --- /dev/null +++ b/docs/Models/Components/ConnectorAuthType.md @@ -0,0 +1,14 @@ +# ConnectorAuthType + +Type of authorization used by the connector + + +## Values + +| Name | Value | +| -------- | -------- | +| `Oauth2` | oauth2 | +| `ApiKey` | apiKey | +| `Basic` | basic | +| `Custom` | custom | +| `None` | none | \ No newline at end of file diff --git a/docs/Models/Components/ConnectorDoc.md b/docs/Models/Components/ConnectorDoc.md new file mode 100644 index 00000000..baabb27e --- /dev/null +++ b/docs/Models/Components/ConnectorDoc.md @@ -0,0 +1,12 @@ +# ConnectorDoc + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | Name of the doc. | connection | +| `Audience` | [Audience](../../Models/Components/Audience.md) | :heavy_minus_sign: | Audience for the doc. | | +| `Format` | [Format](../../Models/Components/Format.md) | :heavy_minus_sign: | Format of the doc. | | +| `Url` | *string* | :heavy_minus_sign: | Link to fetch the content of the doc. | https://unify.apideck.com/connector/connectors/workday/docs/consumer+connection | \ No newline at end of file diff --git a/docs/Models/Components/ConnectorEvent.md b/docs/Models/Components/ConnectorEvent.md new file mode 100644 index 00000000..12e0fedb --- /dev/null +++ b/docs/Models/Components/ConnectorEvent.md @@ -0,0 +1,14 @@ +# ConnectorEvent + +Unify event that is supported on the connector. Events are delivered via Webhooks. + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `EventType` | *string* | :heavy_minus_sign: | Unify event type | employee.created | +| `EventSource` | [EventSource](../../Models/Components/EventSource.md) | :heavy_minus_sign: | Unify event source | native | +| `DownstreamEventType` | *string* | :heavy_minus_sign: | Downstream event type | person_created | +| `Resources` | List<*string*> | :heavy_minus_sign: | N/A | | +| `EntityType` | *string* | :heavy_minus_sign: | Unify entity type | employee | \ No newline at end of file diff --git a/docs/Models/Components/ConnectorOauthGrantType.md b/docs/Models/Components/ConnectorOauthGrantType.md new file mode 100644 index 00000000..e6a5f742 --- /dev/null +++ b/docs/Models/Components/ConnectorOauthGrantType.md @@ -0,0 +1,12 @@ +# ConnectorOauthGrantType + +OAuth grant type used by the connector. More info: https://oauth.net/2/grant-types + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `AuthorizationCode` | authorization_code | +| `ClientCredentials` | client_credentials | +| `Password` | password | \ No newline at end of file diff --git a/docs/Models/Components/ConnectorOauthScopes.md b/docs/Models/Components/ConnectorOauthScopes.md new file mode 100644 index 00000000..053569c9 --- /dev/null +++ b/docs/Models/Components/ConnectorOauthScopes.md @@ -0,0 +1,11 @@ +# ConnectorOauthScopes + +OAuth scopes required for the connector. Add these scopes to your OAuth app. + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | ID of the OAuth scope. | contacts:all | +| `Label` | *string* | :heavy_minus_sign: | Label of the OAuth scope. | Read/write on the Contacts resource | \ No newline at end of file diff --git a/docs/Models/Components/ConnectorResource.md b/docs/Models/Components/ConnectorResource.md new file mode 100644 index 00000000..27f29fd3 --- /dev/null +++ b/docs/Models/Components/ConnectorResource.md @@ -0,0 +1,21 @@ +# ConnectorResource + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | ID of the resource, typically a lowercased version of name. | companies | +| `Name` | *string* | :heavy_minus_sign: | Name of the resource (plural) | Companies | +| `DownstreamId` | *string* | :heavy_minus_sign: | ID of the resource in the Connector's API (downstream) | accounts | +| `DownstreamName` | *string* | :heavy_minus_sign: | Name of the resource in the Connector's API (downstream) | Accounts | +| `Status` | [ResourceStatus](../../Models/Components/ResourceStatus.md) | :heavy_minus_sign: | Status of the resource. Resources with status live or beta are callable. | | +| `PaginationSupported` | *bool* | :heavy_minus_sign: | Indicates if pagination (cursor and limit parameters) is supported on the list endpoint of the resource. | | +| `Pagination` | [PaginationCoverage](../../Models/Components/PaginationCoverage.md) | :heavy_minus_sign: | N/A | | +| `CustomFieldsSupported` | *bool* | :heavy_minus_sign: | Indicates if custom fields are supported on this resource. | | +| `SupportedOperations` | List<*string*> | :heavy_minus_sign: | List of supported operations on the resource. | [
"all",
"one",
"add",
"update",
"delete"
] | +| `DownstreamUnsupportedOperations` | List<*string*> | :heavy_minus_sign: | List of operations that are not supported on the downstream. | [
"upload"
] | +| `SupportedFilters` | List<*string*> | :heavy_minus_sign: | Supported filters on the list endpoint of the resource. | [
"name",
"email"
] | +| `SupportedSortBy` | List<*string*> | :heavy_minus_sign: | Supported sorting properties on the list endpoint of the resource. | [
"updated_at",
"created_at",
"name"
] | +| `SupportedFields` | List<[SupportedProperty](../../Models/Components/SupportedProperty.md)> | :heavy_minus_sign: | Supported fields on the detail endpoint. | | +| `SupportedListFields` | List<[SupportedProperty](../../Models/Components/SupportedProperty.md)> | :heavy_minus_sign: | Supported fields on the list endpoint. | | \ No newline at end of file diff --git a/docs/Models/Components/ConnectorSetting.md b/docs/Models/Components/ConnectorSetting.md new file mode 100644 index 00000000..90eebbfb --- /dev/null +++ b/docs/Models/Components/ConnectorSetting.md @@ -0,0 +1,10 @@ +# ConnectorSetting + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | N/A | pipeline_id | +| `Label` | *string* | :heavy_minus_sign: | N/A | Pipeline | +| `Type` | [ConnectorSettingType](../../Models/Components/ConnectorSettingType.md) | :heavy_minus_sign: | N/A | select | \ No newline at end of file diff --git a/docs/Models/Components/ConnectorSettingType.md b/docs/Models/Components/ConnectorSettingType.md new file mode 100644 index 00000000..f16ef2c7 --- /dev/null +++ b/docs/Models/Components/ConnectorSettingType.md @@ -0,0 +1,21 @@ +# ConnectorSettingType + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `Text` | text | +| `Checkbox` | checkbox | +| `Tel` | tel | +| `Email` | email | +| `Url` | url | +| `Textarea` | textarea | +| `Select` | select | +| `FilteredSelect` | filtered-select | +| `MultiSelect` | multi-select | +| `Datetime` | datetime | +| `Date` | date | +| `Time` | time | +| `Number` | number | +| `Password` | password | \ No newline at end of file diff --git a/docs/Models/Components/ConnectorStatus.md b/docs/Models/Components/ConnectorStatus.md new file mode 100644 index 00000000..1f5eae04 --- /dev/null +++ b/docs/Models/Components/ConnectorStatus.md @@ -0,0 +1,13 @@ +# ConnectorStatus + +Status of the connector. Connectors with status live or beta are callable. + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `Live` | live | +| `Beta` | beta | +| `Development` | development | +| `Considering` | considering | \ No newline at end of file diff --git a/docs/Models/Components/ConnectorsFilter.md b/docs/Models/Components/ConnectorsFilter.md new file mode 100644 index 00000000..95827907 --- /dev/null +++ b/docs/Models/Components/ConnectorsFilter.md @@ -0,0 +1,9 @@ +# ConnectorsFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| `UnifiedApi` | [UnifiedApiId](../../Models/Components/UnifiedApiId.md) | :heavy_minus_sign: | Name of Apideck Unified API | crm | +| `Status` | [ConnectorStatus](../../Models/Components/ConnectorStatus.md) | :heavy_minus_sign: | Status of the connector. Connectors with status live or beta are callable. | | \ No newline at end of file diff --git a/docs/Models/Components/Consumer.md b/docs/Models/Components/Consumer.md new file mode 100644 index 00000000..bf63e8b2 --- /dev/null +++ b/docs/Models/Components/Consumer.md @@ -0,0 +1,17 @@ +# Consumer + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ConsumerId` | *string* | :heavy_check_mark: | Unique consumer identifier. You can freely choose a consumer ID yourself. Most of the time, this is an ID of your internal data model that represents a user or account in your system (for example account:12345). If the consumer doesn't exist yet, Vault will upsert a consumer based on your ID. | test_consumer_id | +| `ApplicationId` | *string* | :heavy_minus_sign: | ID of your Apideck Application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `Metadata` | [ConsumerMetadata](../../Models/Components/ConsumerMetadata.md) | :heavy_minus_sign: | The metadata of the consumer. This is used to display the consumer in the sidebar. This is optional, but recommended. | | +| `Connections` | List<[ConsumerConnection](../../Models/Components/ConsumerConnection.md)> | :heavy_minus_sign: | N/A | | +| `Services` | List<*string*> | :heavy_minus_sign: | N/A | [
"salesforce",
"stripe"
] | +| `AggregatedRequestCount` | *double* | :heavy_minus_sign: | N/A | 101 | +| `RequestCounts` | [RequestCountAllocation](../../Models/Components/RequestCountAllocation.md) | :heavy_minus_sign: | N/A | | +| `Created` | *string* | :heavy_minus_sign: | N/A | 2021-05-07T12:55:42.242Z | +| `Modified` | *string* | :heavy_minus_sign: | N/A | 2021-05-07T12:55:42.242Z | +| `RequestCountUpdated` | *string* | :heavy_minus_sign: | N/A | 2021-05-07T12:55:42.242Z | \ No newline at end of file diff --git a/docs/Models/Components/ConsumerConnection.md b/docs/Models/Components/ConsumerConnection.md new file mode 100644 index 00000000..baf56fc2 --- /dev/null +++ b/docs/Models/Components/ConsumerConnection.md @@ -0,0 +1,23 @@ +# ConsumerConnection + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | N/A | 1111+test_user_id | +| `Name` | *string* | :heavy_minus_sign: | N/A | Salesforce | +| `Icon` | *string* | :heavy_minus_sign: | N/A | https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png | +| `Logo` | *string* | :heavy_minus_sign: | N/A | https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg | +| `Website` | *string* | :heavy_minus_sign: | N/A | https://www.salesforce.com | +| `TagLine` | *string* | :heavy_minus_sign: | N/A | CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial. | +| `ServiceId` | *string* | :heavy_minus_sign: | N/A | teamleader | +| `UnifiedApi` | *string* | :heavy_minus_sign: | N/A | crm | +| `ConsumerId` | *string* | :heavy_minus_sign: | N/A | test_user_id | +| `AuthType` | [AuthType](../../Models/Components/AuthType.md) | :heavy_minus_sign: | Type of authorization used by the connector | oauth2 | +| `Enabled` | *bool* | :heavy_minus_sign: | N/A | true | +| `Settings` | [Settings](../../Models/Components/Settings.md) | :heavy_minus_sign: | Connection settings. Values will persist to `form_fields` with corresponding id | {
"instance_url": "https://eu28.salesforce.com"
} | +| `Metadata` | Dictionary | :heavy_minus_sign: | Attach your own consumer specific metadata | {
"account": {
"name": "My Company",
"id": "c01458a5-7276-41ce-bc19-639906b0450a"
},
"plan": "enterprise"
} | +| `CreatedAt` | *string* | :heavy_minus_sign: | N/A | 2020-09-19T12:18:37.071Z | +| `UpdatedAt` | *string* | :heavy_minus_sign: | N/A | 2020-09-19T12:18:37.071Z | +| `State` | [ConnectionState](../../Models/Components/ConnectionState.md) | :heavy_minus_sign: | [Connection state flow](#section/Connection-state) | authorized | \ No newline at end of file diff --git a/docs/Models/Components/ConsumerInput.md b/docs/Models/Components/ConsumerInput.md new file mode 100644 index 00000000..1322c9f7 --- /dev/null +++ b/docs/Models/Components/ConsumerInput.md @@ -0,0 +1,9 @@ +# ConsumerInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ConsumerId` | *string* | :heavy_check_mark: | Unique consumer identifier. You can freely choose a consumer ID yourself. Most of the time, this is an ID of your internal data model that represents a user or account in your system (for example account:12345). If the consumer doesn't exist yet, Vault will upsert a consumer based on your ID. | test_consumer_id | +| `Metadata` | [ConsumerMetadata](../../Models/Components/ConsumerMetadata.md) | :heavy_minus_sign: | The metadata of the consumer. This is used to display the consumer in the sidebar. This is optional, but recommended. | | \ No newline at end of file diff --git a/docs/Models/Components/ConsumerMetadata.md b/docs/Models/Components/ConsumerMetadata.md new file mode 100644 index 00000000..a845dd92 --- /dev/null +++ b/docs/Models/Components/ConsumerMetadata.md @@ -0,0 +1,13 @@ +# ConsumerMetadata + +The metadata of the consumer. This is used to display the consumer in the sidebar. This is optional, but recommended. + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `AccountName` | *string* | :heavy_minus_sign: | The name of the account as shown in the sidebar. | SpaceX | +| `UserName` | *string* | :heavy_minus_sign: | The name of the user as shown in the sidebar. | Elon Musk | +| `Email` | *string* | :heavy_minus_sign: | The email of the user as shown in the sidebar. | elon@musk.com | +| `Image` | *string* | :heavy_minus_sign: | The avatar of the user in the sidebar. Must be a valid URL | https://www.spacex.com/static/images/share.jpg | \ No newline at end of file diff --git a/docs/Models/Components/ConsumerRequestCountsInDateRangeResponse.md b/docs/Models/Components/ConsumerRequestCountsInDateRangeResponse.md new file mode 100644 index 00000000..09e2474d --- /dev/null +++ b/docs/Models/Components/ConsumerRequestCountsInDateRangeResponse.md @@ -0,0 +1,12 @@ +# ConsumerRequestCountsInDateRangeResponse + +Consumers Request Counts within Date Range + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [ConsumerRequestCountsInDateRangeResponseData](../../Models/Components/ConsumerRequestCountsInDateRangeResponseData.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/ConsumerRequestCountsInDateRangeResponseData.md b/docs/Models/Components/ConsumerRequestCountsInDateRangeResponseData.md new file mode 100644 index 00000000..17633d41 --- /dev/null +++ b/docs/Models/Components/ConsumerRequestCountsInDateRangeResponseData.md @@ -0,0 +1,13 @@ +# ConsumerRequestCountsInDateRangeResponseData + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `ApplicationId` | *string* | :heavy_minus_sign: | N/A | 1111 | +| `ConsumerId` | *string* | :heavy_minus_sign: | N/A | test_user_id | +| `StartDatetime` | *string* | :heavy_minus_sign: | N/A | 2021-05-01T12:00:00.000Z | +| `EndDatetime` | *string* | :heavy_minus_sign: | N/A | 2021-05-10T12:00:00.000Z | +| `AggregatedRequestCount` | *double* | :heavy_minus_sign: | N/A | 40 | +| `RequestCounts` | [RequestCountAllocation](../../Models/Components/RequestCountAllocation.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/Contact.md b/docs/Models/Components/Contact.md new file mode 100644 index 00000000..387a28f7 --- /dev/null +++ b/docs/Models/Components/Contact.md @@ -0,0 +1,48 @@ +# Contact + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | Unique identifier for the contact. | 12345 | +| `Name` | *string* | :heavy_check_mark: | Full name of the contact. | Elon Musk | +| `OwnerId` | *string* | :heavy_minus_sign: | The owner of the contact. | 54321 | +| `Type` | [ContactType](../../Models/Components/ContactType.md) | :heavy_minus_sign: | The type of the contact. | personal | +| `CompanyId` | *string* | :heavy_minus_sign: | The company the contact is associated with. | 23456 | +| `CompanyName` | *string* | :heavy_minus_sign: | The name of the company the contact is associated with. | 23456 | +| `LeadId` | *string* | :heavy_minus_sign: | The lead the contact is associated with. | 34567 | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the contact. | Elon | +| `MiddleName` | *string* | :heavy_minus_sign: | The middle name of the contact. | D. | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the contact. | Musk | +| `Prefix` | *string* | :heavy_minus_sign: | The prefix of the contact. | Mr. | +| `Suffix` | *string* | :heavy_minus_sign: | The suffix of the contact. | PhD | +| `Title` | *string* | :heavy_minus_sign: | The job title of the contact. | CEO | +| `Department` | *string* | :heavy_minus_sign: | The department of the contact. | Engineering | +| `Language` | *string* | :heavy_minus_sign: | language code according to ISO 639-1. For the United States - EN | EN | +| `Gender` | [ContactGender](../../Models/Components/ContactGender.md) | :heavy_minus_sign: | The gender of the contact. | female | +| `Birthday` | *string* | :heavy_minus_sign: | The birthday of the contact. | 2000-08-12 | +| ~~`Image`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | https://unavatar.io/elon-musk | +| `PhotoUrl` | *string* | :heavy_minus_sign: | The URL of the photo of a person. | https://unavatar.io/elon-musk | +| `LeadSource` | *string* | :heavy_minus_sign: | The lead source of the contact. | Cold Call | +| `Fax` | *string* | :heavy_minus_sign: | The fax number of the contact. | +12129876543 | +| `Description` | *string* | :heavy_minus_sign: | The description of the contact. | Internal champion | +| `CurrentBalance` | *double* | :heavy_minus_sign: | The current balance of the contact. | 10.5 | +| `Status` | *string* | :heavy_minus_sign: | The status of the contact. | open | +| `Active` | *bool* | :heavy_minus_sign: | The active status of the contact. | true | +| `Websites` | List<[Website](../../Models/Components/Website.md)> | :heavy_minus_sign: | N/A | | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `SocialLinks` | List<[SocialLink](../../Models/Components/SocialLink.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `EmailDomain` | *string* | :heavy_minus_sign: | N/A | gmail.com | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `Tags` | List<*string*> | :heavy_minus_sign: | N/A | [
"New"
] | +| `FirstCallAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The first call date of the contact. | 2020-09-30T07:43:32.000Z | +| `FirstEmailAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The first email date of the contact. | 2020-09-30T07:43:32.000Z | +| `LastActivityAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The last activity date of the contact. | 2020-09-30T07:43:32.000Z | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The last update date of the contact. | 2017-08-12T20:43:21.291Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The creation date of the contact. | 2017-08-12T20:43:21.291Z | +| `OpportunityIds` | List<*string*> | :heavy_minus_sign: | The opportunity ids of the contact. | | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/ContactGender.md b/docs/Models/Components/ContactGender.md new file mode 100644 index 00000000..627f26c8 --- /dev/null +++ b/docs/Models/Components/ContactGender.md @@ -0,0 +1,12 @@ +# ContactGender + +The gender of the contact. + + +## Values + +| Name | Value | +| -------- | -------- | +| `Male` | male | +| `Female` | female | +| `Unisex` | unisex | \ No newline at end of file diff --git a/docs/Models/Components/ContactInput.md b/docs/Models/Components/ContactInput.md new file mode 100644 index 00000000..f00df623 --- /dev/null +++ b/docs/Models/Components/ContactInput.md @@ -0,0 +1,41 @@ +# ContactInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_check_mark: | Full name of the contact. | Elon Musk | +| `OwnerId` | *string* | :heavy_minus_sign: | The owner of the contact. | 54321 | +| `Type` | [ContactType](../../Models/Components/ContactType.md) | :heavy_minus_sign: | The type of the contact. | personal | +| `CompanyId` | *string* | :heavy_minus_sign: | The company the contact is associated with. | 23456 | +| `CompanyName` | *string* | :heavy_minus_sign: | The name of the company the contact is associated with. | 23456 | +| `LeadId` | *string* | :heavy_minus_sign: | The lead the contact is associated with. | 34567 | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the contact. | Elon | +| `MiddleName` | *string* | :heavy_minus_sign: | The middle name of the contact. | D. | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the contact. | Musk | +| `Prefix` | *string* | :heavy_minus_sign: | The prefix of the contact. | Mr. | +| `Suffix` | *string* | :heavy_minus_sign: | The suffix of the contact. | PhD | +| `Title` | *string* | :heavy_minus_sign: | The job title of the contact. | CEO | +| `Department` | *string* | :heavy_minus_sign: | The department of the contact. | Engineering | +| `Language` | *string* | :heavy_minus_sign: | language code according to ISO 639-1. For the United States - EN | EN | +| `Gender` | [ContactGender](../../Models/Components/ContactGender.md) | :heavy_minus_sign: | The gender of the contact. | female | +| `Birthday` | *string* | :heavy_minus_sign: | The birthday of the contact. | 2000-08-12 | +| ~~`Image`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | https://unavatar.io/elon-musk | +| `PhotoUrl` | *string* | :heavy_minus_sign: | The URL of the photo of a person. | https://unavatar.io/elon-musk | +| `LeadSource` | *string* | :heavy_minus_sign: | The lead source of the contact. | Cold Call | +| `Fax` | *string* | :heavy_minus_sign: | The fax number of the contact. | +12129876543 | +| `Description` | *string* | :heavy_minus_sign: | The description of the contact. | Internal champion | +| `CurrentBalance` | *double* | :heavy_minus_sign: | The current balance of the contact. | 10.5 | +| `Status` | *string* | :heavy_minus_sign: | The status of the contact. | open | +| `Active` | *bool* | :heavy_minus_sign: | The active status of the contact. | true | +| `Websites` | List<[Website](../../Models/Components/Website.md)> | :heavy_minus_sign: | N/A | | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `SocialLinks` | List<[SocialLink](../../Models/Components/SocialLink.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `EmailDomain` | *string* | :heavy_minus_sign: | N/A | gmail.com | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `Tags` | List<*string*> | :heavy_minus_sign: | N/A | [
"New"
] | +| `OpportunityIds` | List<*string*> | :heavy_minus_sign: | The opportunity ids of the contact. | | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/ContactType.md b/docs/Models/Components/ContactType.md new file mode 100644 index 00000000..68f55bb9 --- /dev/null +++ b/docs/Models/Components/ContactType.md @@ -0,0 +1,13 @@ +# ContactType + +The type of the contact. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Customer` | customer | +| `Supplier` | supplier | +| `Employee` | employee | +| `Personal` | personal | \ No newline at end of file diff --git a/docs/Models/Components/ContactsFilter.md b/docs/Models/Components/ContactsFilter.md new file mode 100644 index 00000000..c1a46341 --- /dev/null +++ b/docs/Models/Components/ContactsFilter.md @@ -0,0 +1,14 @@ +# ContactsFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `Name` | *string* | :heavy_minus_sign: | Name of the contact to filter on | Elon Musk | +| `FirstName` | *string* | :heavy_minus_sign: | First name of the contact to filter on | Elon | +| `LastName` | *string* | :heavy_minus_sign: | Last name of the contact to filter on | Musk | +| `Email` | *string* | :heavy_minus_sign: | Email of the contact to filter on | elon@tesla.com | +| `PhoneNumber` | *string* | :heavy_minus_sign: | Phone number of the contact to filter on | 111-111-1111 | +| `CompanyId` | *string* | :heavy_minus_sign: | Unique identifier for the associated company of the contact to filter on | 12345 | +| `OwnerId` | *string* | :heavy_minus_sign: | Unique identifier for the owner of the contact to filter on | 12345 | \ No newline at end of file diff --git a/docs/Models/Components/ContactsSort.md b/docs/Models/Components/ContactsSort.md new file mode 100644 index 00000000..57adbe29 --- /dev/null +++ b/docs/Models/Components/ContactsSort.md @@ -0,0 +1,9 @@ +# ContactsSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `By` | [ContactsSortBy](../../Models/Components/ContactsSortBy.md) | :heavy_minus_sign: | The field on which to sort the Contacts | created_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/ContactsSortBy.md b/docs/Models/Components/ContactsSortBy.md new file mode 100644 index 00000000..56f11130 --- /dev/null +++ b/docs/Models/Components/ContactsSortBy.md @@ -0,0 +1,15 @@ +# ContactsSortBy + +The field on which to sort the Contacts + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | +| `Name` | name | +| `FirstName` | first_name | +| `LastName` | last_name | +| `Email` | email | \ No newline at end of file diff --git a/docs/Models/Components/CopyFolderRequest.md b/docs/Models/Components/CopyFolderRequest.md new file mode 100644 index 00000000..cd6f713c --- /dev/null +++ b/docs/Models/Components/CopyFolderRequest.md @@ -0,0 +1,10 @@ +# CopyFolderRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_minus_sign: | The name of the folder. | Documents | +| `ParentFolderId` | *string* | :heavy_check_mark: | The parent folder to create the new file within. This can be an ID or a path depending on the downstream folder. Please see the connector section below to see downstream specific gotchas. | 1234 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/Coverage.md b/docs/Models/Components/Coverage.md new file mode 100644 index 00000000..be4e7453 --- /dev/null +++ b/docs/Models/Components/Coverage.md @@ -0,0 +1,16 @@ +# Coverage + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `DownstreamId` | *string* | :heavy_minus_sign: | ID of the resource in the Connector's API (downstream) | accounts | +| `DownstreamName` | *string* | :heavy_minus_sign: | Name of the resource in the Connector's API (downstream) | Accounts | +| `PaginationSupported` | *bool* | :heavy_minus_sign: | Indicates if pagination (cursor and limit parameters) is supported on the list endpoint of the resource. | | +| `Pagination` | [PaginationCoverage](../../Models/Components/PaginationCoverage.md) | :heavy_minus_sign: | N/A | | +| `SupportedOperations` | List<*string*> | :heavy_minus_sign: | List of supported operations on the resource. | [
"all",
"one",
"add",
"update",
"delete"
] | +| `SupportedFilters` | List<*string*> | :heavy_minus_sign: | Supported filters on the list endpoint of the resource. | [
"name",
"email"
] | +| `SupportedSortBy` | List<*string*> | :heavy_minus_sign: | Supported sorting properties on the list endpoint of the resource. | [
"updated_at",
"created_at",
"name"
] | +| `SupportedFields` | List<[SupportedProperty](../../Models/Components/SupportedProperty.md)> | :heavy_minus_sign: | Supported fields on the detail endpoint. | | +| `SupportedListFields` | List<[SupportedProperty](../../Models/Components/SupportedProperty.md)> | :heavy_minus_sign: | Supported fields on the list endpoint. | | \ No newline at end of file diff --git a/docs/Models/Components/CreateAccountingDepartmentResponse.md b/docs/Models/Components/CreateAccountingDepartmentResponse.md new file mode 100644 index 00000000..fef086eb --- /dev/null +++ b/docs/Models/Components/CreateAccountingDepartmentResponse.md @@ -0,0 +1,15 @@ +# CreateAccountingDepartmentResponse + +Department + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | departments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateAccountingLocationResponse.md b/docs/Models/Components/CreateAccountingLocationResponse.md new file mode 100644 index 00000000..c4b87cab --- /dev/null +++ b/docs/Models/Components/CreateAccountingLocationResponse.md @@ -0,0 +1,15 @@ +# CreateAccountingLocationResponse + +Location + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | locations | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateActivityResponse.md b/docs/Models/Components/CreateActivityResponse.md new file mode 100644 index 00000000..f6e23984 --- /dev/null +++ b/docs/Models/Components/CreateActivityResponse.md @@ -0,0 +1,15 @@ +# CreateActivityResponse + +Activity created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | activities | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateApplicantResponse.md b/docs/Models/Components/CreateApplicantResponse.md new file mode 100644 index 00000000..ebf60d0d --- /dev/null +++ b/docs/Models/Components/CreateApplicantResponse.md @@ -0,0 +1,15 @@ +# CreateApplicantResponse + +Applicants + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | lever | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Applicants | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateApplicationResponse.md b/docs/Models/Components/CreateApplicationResponse.md new file mode 100644 index 00000000..1b723d3d --- /dev/null +++ b/docs/Models/Components/CreateApplicationResponse.md @@ -0,0 +1,15 @@ +# CreateApplicationResponse + +Applications + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | sap-successfactors | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Applications | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateBillPaymentResponse.md b/docs/Models/Components/CreateBillPaymentResponse.md new file mode 100644 index 00000000..eb3d92ab --- /dev/null +++ b/docs/Models/Components/CreateBillPaymentResponse.md @@ -0,0 +1,15 @@ +# CreateBillPaymentResponse + +Bill Payment created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | payments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateBillResponse.md b/docs/Models/Components/CreateBillResponse.md new file mode 100644 index 00000000..8b4365fe --- /dev/null +++ b/docs/Models/Components/CreateBillResponse.md @@ -0,0 +1,15 @@ +# CreateBillResponse + +Bill created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | bills | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateCallbackState.md b/docs/Models/Components/CreateCallbackState.md new file mode 100644 index 00000000..172ba445 --- /dev/null +++ b/docs/Models/Components/CreateCallbackState.md @@ -0,0 +1,8 @@ +# CreateCallbackState + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | +| `RedirectUri` | *string* | :heavy_minus_sign: | The redirect URI to be used after the connection is created. | https://example.com/callback | \ No newline at end of file diff --git a/docs/Models/Components/CreateCallbackStateResponse.md b/docs/Models/Components/CreateCallbackStateResponse.md new file mode 100644 index 00000000..9192fb6e --- /dev/null +++ b/docs/Models/Components/CreateCallbackStateResponse.md @@ -0,0 +1,12 @@ +# CreateCallbackStateResponse + +Callback state created + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [CreateCallbackStateResponseData](../../Models/Components/CreateCallbackStateResponseData.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateCallbackStateResponseData.md b/docs/Models/Components/CreateCallbackStateResponseData.md new file mode 100644 index 00000000..00b0daeb --- /dev/null +++ b/docs/Models/Components/CreateCallbackStateResponseData.md @@ -0,0 +1,8 @@ +# CreateCallbackStateResponseData + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `State` | *string* | :heavy_minus_sign: | Callback state | 123e4567-e89b-12d3-a456-426614174000 | \ No newline at end of file diff --git a/docs/Models/Components/CreateCommentResponse.md b/docs/Models/Components/CreateCommentResponse.md new file mode 100644 index 00000000..000195c8 --- /dev/null +++ b/docs/Models/Components/CreateCommentResponse.md @@ -0,0 +1,15 @@ +# CreateCommentResponse + +Create a Comment + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | jira | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Tickets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateCompanyResponse.md b/docs/Models/Components/CreateCompanyResponse.md new file mode 100644 index 00000000..0fe63213 --- /dev/null +++ b/docs/Models/Components/CreateCompanyResponse.md @@ -0,0 +1,15 @@ +# CreateCompanyResponse + +Company created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateConnectionResponse.md b/docs/Models/Components/CreateConnectionResponse.md new file mode 100644 index 00000000..fe1a503d --- /dev/null +++ b/docs/Models/Components/CreateConnectionResponse.md @@ -0,0 +1,12 @@ +# CreateConnectionResponse + +Connection created + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 201 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [Connection](../../Models/Components/Connection.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateConsumerResponse.md b/docs/Models/Components/CreateConsumerResponse.md new file mode 100644 index 00000000..b0500090 --- /dev/null +++ b/docs/Models/Components/CreateConsumerResponse.md @@ -0,0 +1,12 @@ +# CreateConsumerResponse + +Consumer created + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [Consumer](../../Models/Components/Consumer.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateContactResponse.md b/docs/Models/Components/CreateContactResponse.md new file mode 100644 index 00000000..38a2a5c8 --- /dev/null +++ b/docs/Models/Components/CreateContactResponse.md @@ -0,0 +1,15 @@ +# CreateContactResponse + +Contact created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | contacts | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateCreditNoteResponse.md b/docs/Models/Components/CreateCreditNoteResponse.md new file mode 100644 index 00000000..00ae65f6 --- /dev/null +++ b/docs/Models/Components/CreateCreditNoteResponse.md @@ -0,0 +1,15 @@ +# CreateCreditNoteResponse + +Credit Note created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | credit-notes | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateCustomerResponse.md b/docs/Models/Components/CreateCustomerResponse.md new file mode 100644 index 00000000..31aeb425 --- /dev/null +++ b/docs/Models/Components/CreateCustomerResponse.md @@ -0,0 +1,15 @@ +# CreateCustomerResponse + +Customers + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | customers | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateDepartmentResponse.md b/docs/Models/Components/CreateDepartmentResponse.md new file mode 100644 index 00000000..e4c62cf3 --- /dev/null +++ b/docs/Models/Components/CreateDepartmentResponse.md @@ -0,0 +1,15 @@ +# CreateDepartmentResponse + +Departments + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | workday | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Departments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateDriveGroupResponse.md b/docs/Models/Components/CreateDriveGroupResponse.md new file mode 100644 index 00000000..abace913 --- /dev/null +++ b/docs/Models/Components/CreateDriveGroupResponse.md @@ -0,0 +1,15 @@ +# CreateDriveGroupResponse + +DriveGroups + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | google-drive | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | DriveGroups | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateDriveResponse.md b/docs/Models/Components/CreateDriveResponse.md new file mode 100644 index 00000000..64e891dc --- /dev/null +++ b/docs/Models/Components/CreateDriveResponse.md @@ -0,0 +1,15 @@ +# CreateDriveResponse + +Drives + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | google-drive | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Drives | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateEmployeeResponse.md b/docs/Models/Components/CreateEmployeeResponse.md new file mode 100644 index 00000000..aea51b52 --- /dev/null +++ b/docs/Models/Components/CreateEmployeeResponse.md @@ -0,0 +1,15 @@ +# CreateEmployeeResponse + +Employees + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | sage-hr | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Employees | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateExpenseResponse.md b/docs/Models/Components/CreateExpenseResponse.md new file mode 100644 index 00000000..04b4e54a --- /dev/null +++ b/docs/Models/Components/CreateExpenseResponse.md @@ -0,0 +1,15 @@ +# CreateExpenseResponse + +Expenses + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Expenses | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateFolderRequest.md b/docs/Models/Components/CreateFolderRequest.md new file mode 100644 index 00000000..b324161f --- /dev/null +++ b/docs/Models/Components/CreateFolderRequest.md @@ -0,0 +1,12 @@ +# CreateFolderRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_check_mark: | The name of the folder. | Documents | +| `Description` | *string* | :heavy_minus_sign: | Optional description of the folder. | My Personal Documents | +| `ParentFolderId` | *string* | :heavy_check_mark: | The parent folder to create the new file within. This can be an ID or a path depending on the downstream folder. Please see the connector section below to see downstream specific gotchas. | 1234 | +| `DriveId` | *string* | :heavy_minus_sign: | ID of the drive to create the folder in. | 1234 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/CreateFolderResponse.md b/docs/Models/Components/CreateFolderResponse.md new file mode 100644 index 00000000..f70c4b70 --- /dev/null +++ b/docs/Models/Components/CreateFolderResponse.md @@ -0,0 +1,15 @@ +# CreateFolderResponse + +Folders + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | undefined | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Folders | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateHrisCompanyResponse.md b/docs/Models/Components/CreateHrisCompanyResponse.md new file mode 100644 index 00000000..ca1aa892 --- /dev/null +++ b/docs/Models/Components/CreateHrisCompanyResponse.md @@ -0,0 +1,15 @@ +# CreateHrisCompanyResponse + +Companies + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | undefined | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateInvoiceItemResponse.md b/docs/Models/Components/CreateInvoiceItemResponse.md new file mode 100644 index 00000000..1853f350 --- /dev/null +++ b/docs/Models/Components/CreateInvoiceItemResponse.md @@ -0,0 +1,15 @@ +# CreateInvoiceItemResponse + +InvoiceItems + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | invoice-items | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateInvoiceResponse.md b/docs/Models/Components/CreateInvoiceResponse.md new file mode 100644 index 00000000..f132e8a4 --- /dev/null +++ b/docs/Models/Components/CreateInvoiceResponse.md @@ -0,0 +1,15 @@ +# CreateInvoiceResponse + +Invoice created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | invoices | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [InvoiceResponse](../../Models/Components/InvoiceResponse.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateJournalEntryResponse.md b/docs/Models/Components/CreateJournalEntryResponse.md new file mode 100644 index 00000000..9e3f88aa --- /dev/null +++ b/docs/Models/Components/CreateJournalEntryResponse.md @@ -0,0 +1,15 @@ +# CreateJournalEntryResponse + +JournalEntries + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | journal-entries | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateLeadResponse.md b/docs/Models/Components/CreateLeadResponse.md new file mode 100644 index 00000000..bcd5efaf --- /dev/null +++ b/docs/Models/Components/CreateLeadResponse.md @@ -0,0 +1,15 @@ +# CreateLeadResponse + +Lead created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateLedgerAccountResponse.md b/docs/Models/Components/CreateLedgerAccountResponse.md new file mode 100644 index 00000000..6b60b489 --- /dev/null +++ b/docs/Models/Components/CreateLedgerAccountResponse.md @@ -0,0 +1,15 @@ +# CreateLedgerAccountResponse + +LedgerAccount created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | ledger-accounts | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateMessageResponse.md b/docs/Models/Components/CreateMessageResponse.md new file mode 100644 index 00000000..8367a9af --- /dev/null +++ b/docs/Models/Components/CreateMessageResponse.md @@ -0,0 +1,15 @@ +# CreateMessageResponse + +Messages + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | twilio | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Messages | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateNoteResponse.md b/docs/Models/Components/CreateNoteResponse.md new file mode 100644 index 00000000..2633cf28 --- /dev/null +++ b/docs/Models/Components/CreateNoteResponse.md @@ -0,0 +1,15 @@ +# CreateNoteResponse + +Note created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | notes | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateOpportunityResponse.md b/docs/Models/Components/CreateOpportunityResponse.md new file mode 100644 index 00000000..f583e500 --- /dev/null +++ b/docs/Models/Components/CreateOpportunityResponse.md @@ -0,0 +1,15 @@ +# CreateOpportunityResponse + +Opportunity created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | opportunities | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreatePaymentResponse.md b/docs/Models/Components/CreatePaymentResponse.md new file mode 100644 index 00000000..8d36a2c7 --- /dev/null +++ b/docs/Models/Components/CreatePaymentResponse.md @@ -0,0 +1,15 @@ +# CreatePaymentResponse + +Payment created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | payments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreatePipelineResponse.md b/docs/Models/Components/CreatePipelineResponse.md new file mode 100644 index 00000000..65f69bd3 --- /dev/null +++ b/docs/Models/Components/CreatePipelineResponse.md @@ -0,0 +1,15 @@ +# CreatePipelineResponse + +Pipeline created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | pipelines | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreatePurchaseOrderResponse.md b/docs/Models/Components/CreatePurchaseOrderResponse.md new file mode 100644 index 00000000..a5a31c71 --- /dev/null +++ b/docs/Models/Components/CreatePurchaseOrderResponse.md @@ -0,0 +1,15 @@ +# CreatePurchaseOrderResponse + +PurchaseOrders + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | PurchaseOrders | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateSessionResponse.md b/docs/Models/Components/CreateSessionResponse.md new file mode 100644 index 00000000..1a67fa36 --- /dev/null +++ b/docs/Models/Components/CreateSessionResponse.md @@ -0,0 +1,12 @@ +# CreateSessionResponse + +Session created + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [CreateSessionResponseData](../../Models/Components/CreateSessionResponseData.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateSessionResponseData.md b/docs/Models/Components/CreateSessionResponseData.md new file mode 100644 index 00000000..7ee73e45 --- /dev/null +++ b/docs/Models/Components/CreateSessionResponseData.md @@ -0,0 +1,9 @@ +# CreateSessionResponseData + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | +| `SessionUri` | *string* | :heavy_check_mark: | N/A | http://vault.apideck.com/session/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb25zdW1lcl9pZCI6InRlc3RfdXNlcl9pZCIsImFwcGxpY2F0aW9uX2lkIj | +| `SessionToken` | *string* | :heavy_check_mark: | N/A | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb25zdW1lcl9pZCI6InRlc3RfdXNlcl9pZCIsImFwcGxpY2F0aW9uX2lkIj | \ No newline at end of file diff --git a/docs/Models/Components/CreateSharedLinkResponse.md b/docs/Models/Components/CreateSharedLinkResponse.md new file mode 100644 index 00000000..5406f469 --- /dev/null +++ b/docs/Models/Components/CreateSharedLinkResponse.md @@ -0,0 +1,15 @@ +# CreateSharedLinkResponse + +Shared Links + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | dropbox | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Shared Links | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateSubsidiaryResponse.md b/docs/Models/Components/CreateSubsidiaryResponse.md new file mode 100644 index 00000000..bd9c1261 --- /dev/null +++ b/docs/Models/Components/CreateSubsidiaryResponse.md @@ -0,0 +1,15 @@ +# CreateSubsidiaryResponse + +Subsidiaries + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | subsidiaries | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateSupplierResponse.md b/docs/Models/Components/CreateSupplierResponse.md new file mode 100644 index 00000000..28aca14b --- /dev/null +++ b/docs/Models/Components/CreateSupplierResponse.md @@ -0,0 +1,15 @@ +# CreateSupplierResponse + +Supplier created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | payments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateTaxRateResponse.md b/docs/Models/Components/CreateTaxRateResponse.md new file mode 100644 index 00000000..8338ba44 --- /dev/null +++ b/docs/Models/Components/CreateTaxRateResponse.md @@ -0,0 +1,15 @@ +# CreateTaxRateResponse + +TaxRate created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | tax-rates | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateTicketResponse.md b/docs/Models/Components/CreateTicketResponse.md new file mode 100644 index 00000000..85c82bd2 --- /dev/null +++ b/docs/Models/Components/CreateTicketResponse.md @@ -0,0 +1,15 @@ +# CreateTicketResponse + +Create a Ticket + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | jira | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Tickets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateTimeOffRequestResponse.md b/docs/Models/Components/CreateTimeOffRequestResponse.md new file mode 100644 index 00000000..a9cc9c07 --- /dev/null +++ b/docs/Models/Components/CreateTimeOffRequestResponse.md @@ -0,0 +1,15 @@ +# CreateTimeOffRequestResponse + +TimeOffRequests + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | bamboohr | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | time-off-requests | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateTrackingCategoryResponse.md b/docs/Models/Components/CreateTrackingCategoryResponse.md new file mode 100644 index 00000000..01a7bc07 --- /dev/null +++ b/docs/Models/Components/CreateTrackingCategoryResponse.md @@ -0,0 +1,15 @@ +# CreateTrackingCategoryResponse + +Tracking category created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | tracking-categories | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateUploadSessionRequest.md b/docs/Models/Components/CreateUploadSessionRequest.md new file mode 100644 index 00000000..a8094d76 --- /dev/null +++ b/docs/Models/Components/CreateUploadSessionRequest.md @@ -0,0 +1,12 @@ +# CreateUploadSessionRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_check_mark: | The name of the file. | Documents | +| `ParentFolderId` | *string* | :heavy_check_mark: | The parent folder to create the new file within. This can be an ID or a path depending on the downstream folder. Please see the connector section below to see downstream specific gotchas. | 1234 | +| `DriveId` | *string* | :heavy_minus_sign: | ID of the drive to upload to. | 1234 | +| `Size` | *long* | :heavy_check_mark: | The size of the file in bytes | 1810673 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/CreateUploadSessionResponse.md b/docs/Models/Components/CreateUploadSessionResponse.md new file mode 100644 index 00000000..25a08372 --- /dev/null +++ b/docs/Models/Components/CreateUploadSessionResponse.md @@ -0,0 +1,15 @@ +# CreateUploadSessionResponse + +UploadSessions + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | dropbox | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | UploadSessions | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateUserResponse.md b/docs/Models/Components/CreateUserResponse.md new file mode 100644 index 00000000..e8dc4210 --- /dev/null +++ b/docs/Models/Components/CreateUserResponse.md @@ -0,0 +1,15 @@ +# CreateUserResponse + +User created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | users | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CreateWebhookRequest.md b/docs/Models/Components/CreateWebhookRequest.md new file mode 100644 index 00000000..c2c379e8 --- /dev/null +++ b/docs/Models/Components/CreateWebhookRequest.md @@ -0,0 +1,12 @@ +# CreateWebhookRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | +| `Description` | *string* | :heavy_minus_sign: | A description of the object. | A description | +| `UnifiedApi` | [UnifiedApiId](../../Models/Components/UnifiedApiId.md) | :heavy_check_mark: | Name of Apideck Unified API | crm | +| `Status` | [Status](../../Models/Components/Status.md) | :heavy_check_mark: | The status of the webhook. | enabled | +| `DeliveryUrl` | *string* | :heavy_check_mark: | The delivery url of the webhook endpoint. | https://example.com/my/webhook/endpoint | +| `Events` | List<[WebhookEventType](../../Models/Components/WebhookEventType.md)> | :heavy_check_mark: | The list of subscribed events for this webhook. [`*`] indicates that all events are enabled. | [
"vault.connection.created",
"vault.connection.updated"
] | \ No newline at end of file diff --git a/docs/Models/Components/CreateWebhookResponse.md b/docs/Models/Components/CreateWebhookResponse.md new file mode 100644 index 00000000..b31db675 --- /dev/null +++ b/docs/Models/Components/CreateWebhookResponse.md @@ -0,0 +1,12 @@ +# CreateWebhookResponse + +Webhooks + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [Models.Components.Webhook](../../Models/Components/Webhook.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/Credentials.md b/docs/Models/Components/Credentials.md new file mode 100644 index 00000000..a14440ed --- /dev/null +++ b/docs/Models/Components/Credentials.md @@ -0,0 +1,11 @@ +# Credentials + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `RefreshToken` | *string* | :heavy_minus_sign: | The refresh token can be used to obtain a new access token. | 1234567890abcdefghijklmnopqrstuvwxyz | +| `AccessToken` | *string* | :heavy_minus_sign: | Access token | 1234567890abcdefghijklmnopqrstuvwxyz | +| `IssuedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The datetime at which the token was issued. If omitted the token will be queued for refresh. | 2020-01-01T00:00:00Z | +| `ExpiresIn` | *long* | :heavy_minus_sign: | The number of seconds until the token expires. If omitted the token will be queued for refresh. | 3600 | \ No newline at end of file diff --git a/docs/Models/Components/CreditNote.md b/docs/Models/Components/CreditNote.md new file mode 100644 index 00000000..47b4dc82 --- /dev/null +++ b/docs/Models/Components/CreditNote.md @@ -0,0 +1,41 @@ +# CreditNote + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | Unique identifier representing the entity | 123456 | +| `Number` | *string* | :heavy_minus_sign: | Credit note number. | OIT00546 | +| `Customer` | [LinkedCustomer](../../Models/Components/LinkedCustomer.md) | :heavy_minus_sign: | The customer this entity is linked to. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `TaxInclusive` | *bool* | :heavy_minus_sign: | Amounts are including tax | true | +| `SubTotal` | *double* | :heavy_minus_sign: | Sub-total amount, normally before tax. | 27500 | +| `TotalAmount` | *double* | :heavy_check_mark: | Amount of transaction | 49.99 | +| `TotalTax` | *double* | :heavy_minus_sign: | Total tax amount applied to this invoice. | 2500 | +| `TaxCode` | *string* | :heavy_minus_sign: | Applicable tax id/code override if tax is not supplied on a line item basis. | 1234 | +| `Balance` | *double* | :heavy_minus_sign: | The balance reflecting any payments made against the transaction. | 27500 | +| `RemainingCredit` | *double* | :heavy_minus_sign: | Indicates the total credit amount still available to apply towards the payment. | 27500 | +| `Status` | [CreditNoteStatus](../../Models/Components/CreditNoteStatus.md) | :heavy_minus_sign: | Status of credit notes | authorised | +| `Reference` | *string* | :heavy_minus_sign: | Optional reference message ie: Debit remittance detail. | 123456 | +| `DateIssued` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | Date credit note issued - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `DatePaid` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | Date credit note paid - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `Type` | [CreditNoteType](../../Models/Components/CreditNoteType.md) | :heavy_minus_sign: | Type of payment | accounts_receivable_credit | +| `Account` | [LinkedLedgerAccount](../../Models/Components/LinkedLedgerAccount.md) | :heavy_minus_sign: | N/A | | +| `LineItems` | List<[InvoiceLineItem](../../Models/Components/InvoiceLineItem.md)> | :heavy_minus_sign: | N/A | | +| `Allocations` | List<[Allocation](../../Models/Components/Allocation.md)> | :heavy_minus_sign: | N/A | | +| `Note` | *string* | :heavy_minus_sign: | Optional note to be associated with the credit note. | Some notes about this credit note | +| `Terms` | *string* | :heavy_minus_sign: | Optional terms to be associated with the credit note. | Some terms about this credit note | +| `BillingAddress` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | +| `ShippingAddress` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/CreditNoteInput.md b/docs/Models/Components/CreditNoteInput.md new file mode 100644 index 00000000..85d8425e --- /dev/null +++ b/docs/Models/Components/CreditNoteInput.md @@ -0,0 +1,35 @@ +# CreditNoteInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Number` | *string* | :heavy_minus_sign: | Credit note number. | OIT00546 | +| `Customer` | [LinkedCustomerInput](../../Models/Components/LinkedCustomerInput.md) | :heavy_minus_sign: | The customer this entity is linked to. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `TaxInclusive` | *bool* | :heavy_minus_sign: | Amounts are including tax | true | +| `SubTotal` | *double* | :heavy_minus_sign: | Sub-total amount, normally before tax. | 27500 | +| `TotalAmount` | *double* | :heavy_check_mark: | Amount of transaction | 49.99 | +| `TotalTax` | *double* | :heavy_minus_sign: | Total tax amount applied to this invoice. | 2500 | +| `TaxCode` | *string* | :heavy_minus_sign: | Applicable tax id/code override if tax is not supplied on a line item basis. | 1234 | +| `Balance` | *double* | :heavy_minus_sign: | The balance reflecting any payments made against the transaction. | 27500 | +| `RemainingCredit` | *double* | :heavy_minus_sign: | Indicates the total credit amount still available to apply towards the payment. | 27500 | +| `Status` | [CreditNoteStatus](../../Models/Components/CreditNoteStatus.md) | :heavy_minus_sign: | Status of credit notes | authorised | +| `Reference` | *string* | :heavy_minus_sign: | Optional reference message ie: Debit remittance detail. | 123456 | +| `DateIssued` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | Date credit note issued - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `DatePaid` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | Date credit note paid - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `Type` | [CreditNoteType](../../Models/Components/CreditNoteType.md) | :heavy_minus_sign: | Type of payment | accounts_receivable_credit | +| `Account` | [LinkedLedgerAccountInput](../../Models/Components/LinkedLedgerAccountInput.md) | :heavy_minus_sign: | N/A | | +| `LineItems` | List<[InvoiceLineItemInput](../../Models/Components/InvoiceLineItemInput.md)> | :heavy_minus_sign: | N/A | | +| `Allocations` | List<[AllocationInput](../../Models/Components/AllocationInput.md)> | :heavy_minus_sign: | N/A | | +| `Note` | *string* | :heavy_minus_sign: | Optional note to be associated with the credit note. | Some notes about this credit note | +| `Terms` | *string* | :heavy_minus_sign: | Optional terms to be associated with the credit note. | Some terms about this credit note | +| `BillingAddress` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | +| `ShippingAddress` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/CreditNoteStatus.md b/docs/Models/Components/CreditNoteStatus.md new file mode 100644 index 00000000..e55527cd --- /dev/null +++ b/docs/Models/Components/CreditNoteStatus.md @@ -0,0 +1,14 @@ +# CreditNoteStatus + +Status of credit notes + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Draft` | draft | +| `Authorised` | authorised | +| `Paid` | paid | +| `Voided` | voided | +| `Deleted` | deleted | \ No newline at end of file diff --git a/docs/Models/Components/CreditNoteType.md b/docs/Models/Components/CreditNoteType.md new file mode 100644 index 00000000..4739f854 --- /dev/null +++ b/docs/Models/Components/CreditNoteType.md @@ -0,0 +1,11 @@ +# CreditNoteType + +Type of payment + + +## Values + +| Name | Value | +| -------------------------- | -------------------------- | +| `AccountsReceivableCredit` | accounts_receivable_credit | +| `AccountsPayableCredit` | accounts_payable_credit | \ No newline at end of file diff --git a/docs/Models/Components/CreditNotesFilter.md b/docs/Models/Components/CreditNotesFilter.md new file mode 100644 index 00000000..21985a25 --- /dev/null +++ b/docs/Models/Components/CreditNotesFilter.md @@ -0,0 +1,8 @@ +# CreditNotesFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `UpdatedSince` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/CreditNotesSort.md b/docs/Models/Components/CreditNotesSort.md new file mode 100644 index 00000000..82bd0277 --- /dev/null +++ b/docs/Models/Components/CreditNotesSort.md @@ -0,0 +1,9 @@ +# CreditNotesSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `By` | [CreditNotesSortBy](../../Models/Components/CreditNotesSortBy.md) | :heavy_minus_sign: | The field on which to sort the Customers | updated_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/CreditNotesSortBy.md b/docs/Models/Components/CreditNotesSortBy.md new file mode 100644 index 00000000..48ec2b19 --- /dev/null +++ b/docs/Models/Components/CreditNotesSortBy.md @@ -0,0 +1,11 @@ +# CreditNotesSortBy + +The field on which to sort the Customers + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | \ No newline at end of file diff --git a/docs/Models/Components/Currency.md b/docs/Models/Components/Currency.md new file mode 100644 index 00000000..757f8bfb --- /dev/null +++ b/docs/Models/Components/Currency.md @@ -0,0 +1,192 @@ +# Currency + +Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `UnknownCurrency` | UNKNOWN_CURRENCY | +| `Aed` | AED | +| `Afn` | AFN | +| `All` | ALL | +| `Amd` | AMD | +| `Ang` | ANG | +| `Aoa` | AOA | +| `Ars` | ARS | +| `Aud` | AUD | +| `Awg` | AWG | +| `Azn` | AZN | +| `Bam` | BAM | +| `Bbd` | BBD | +| `Bdt` | BDT | +| `Bgn` | BGN | +| `Bhd` | BHD | +| `Bif` | BIF | +| `Bmd` | BMD | +| `Bnd` | BND | +| `Bob` | BOB | +| `Bov` | BOV | +| `Brl` | BRL | +| `Bsd` | BSD | +| `Btn` | BTN | +| `Bwp` | BWP | +| `Byr` | BYR | +| `Bzd` | BZD | +| `Cad` | CAD | +| `Cdf` | CDF | +| `Che` | CHE | +| `Chf` | CHF | +| `Chw` | CHW | +| `Clf` | CLF | +| `Clp` | CLP | +| `Cny` | CNY | +| `Cop` | COP | +| `Cou` | COU | +| `Crc` | CRC | +| `Cuc` | CUC | +| `Cup` | CUP | +| `Cve` | CVE | +| `Czk` | CZK | +| `Djf` | DJF | +| `Dkk` | DKK | +| `Dop` | DOP | +| `Dzd` | DZD | +| `Egp` | EGP | +| `Ern` | ERN | +| `Etb` | ETB | +| `Eur` | EUR | +| `Fjd` | FJD | +| `Fkp` | FKP | +| `Gbp` | GBP | +| `Gel` | GEL | +| `Ghs` | GHS | +| `Gip` | GIP | +| `Gmd` | GMD | +| `Gnf` | GNF | +| `Gtq` | GTQ | +| `Gyd` | GYD | +| `Hkd` | HKD | +| `Hnl` | HNL | +| `Hrk` | HRK | +| `Htg` | HTG | +| `Huf` | HUF | +| `Idr` | IDR | +| `Ils` | ILS | +| `Inr` | INR | +| `Iqd` | IQD | +| `Irr` | IRR | +| `Isk` | ISK | +| `Jmd` | JMD | +| `Jod` | JOD | +| `Jpy` | JPY | +| `Kes` | KES | +| `Kgs` | KGS | +| `Khr` | KHR | +| `Kmf` | KMF | +| `Kpw` | KPW | +| `Krw` | KRW | +| `Kwd` | KWD | +| `Kyd` | KYD | +| `Kzt` | KZT | +| `Lak` | LAK | +| `Lbp` | LBP | +| `Lkr` | LKR | +| `Lrd` | LRD | +| `Lsl` | LSL | +| `Ltl` | LTL | +| `Lvl` | LVL | +| `Lyd` | LYD | +| `Mad` | MAD | +| `Mdl` | MDL | +| `Mga` | MGA | +| `Mkd` | MKD | +| `Mmk` | MMK | +| `Mnt` | MNT | +| `Mop` | MOP | +| `Mro` | MRO | +| `Mur` | MUR | +| `Mvr` | MVR | +| `Mwk` | MWK | +| `Mxn` | MXN | +| `Mxv` | MXV | +| `Myr` | MYR | +| `Mzn` | MZN | +| `Nad` | NAD | +| `Ngn` | NGN | +| `Nio` | NIO | +| `Nok` | NOK | +| `Npr` | NPR | +| `Nzd` | NZD | +| `Omr` | OMR | +| `Pab` | PAB | +| `Pen` | PEN | +| `Pgk` | PGK | +| `Php` | PHP | +| `Pkr` | PKR | +| `Pln` | PLN | +| `Pyg` | PYG | +| `Qar` | QAR | +| `Ron` | RON | +| `Rsd` | RSD | +| `Rub` | RUB | +| `Rwf` | RWF | +| `Sar` | SAR | +| `Sbd` | SBD | +| `Scr` | SCR | +| `Sdg` | SDG | +| `Sek` | SEK | +| `Sgd` | SGD | +| `Shp` | SHP | +| `Sll` | SLL | +| `Sos` | SOS | +| `Srd` | SRD | +| `Ssp` | SSP | +| `Std` | STD | +| `Svc` | SVC | +| `Syp` | SYP | +| `Szl` | SZL | +| `Thb` | THB | +| `Tjs` | TJS | +| `Tmt` | TMT | +| `Tnd` | TND | +| `Top` | TOP | +| `Trc` | TRC | +| `Try` | TRY | +| `Ttd` | TTD | +| `Twd` | TWD | +| `Tzs` | TZS | +| `Uah` | UAH | +| `Ugx` | UGX | +| `Usd` | USD | +| `Usn` | USN | +| `Uss` | USS | +| `Uyi` | UYI | +| `Uyu` | UYU | +| `Uzs` | UZS | +| `Vef` | VEF | +| `Vnd` | VND | +| `Vuv` | VUV | +| `Wst` | WST | +| `Xaf` | XAF | +| `Xag` | XAG | +| `Xau` | XAU | +| `Xba` | XBA | +| `Xbb` | XBB | +| `Xbc` | XBC | +| `Xbd` | XBD | +| `Xcd` | XCD | +| `Xdr` | XDR | +| `Xof` | XOF | +| `Xpd` | XPD | +| `Xpf` | XPF | +| `Xpt` | XPT | +| `Xts` | XTS | +| `Xxx` | XXX | +| `Yer` | YER | +| `Zar` | ZAR | +| `Zmk` | ZMK | +| `Zmw` | ZMW | +| `Btc` | BTC | +| `Eth` | ETH | \ No newline at end of file diff --git a/docs/Models/Components/Cursors.md b/docs/Models/Components/Cursors.md new file mode 100644 index 00000000..584f0545 --- /dev/null +++ b/docs/Models/Components/Cursors.md @@ -0,0 +1,12 @@ +# Cursors + +Cursors to navigate to previous or next pages through the API + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `Previous` | *string* | :heavy_minus_sign: | Cursor to navigate to the previous page of results through the API | em9oby1jcm06OnBhZ2U6OjE= | +| `Current` | *string* | :heavy_minus_sign: | Cursor to navigate to the current page of results through the API | em9oby1jcm06OnBhZ2U6OjI= | +| `Next` | *string* | :heavy_minus_sign: | Cursor to navigate to the next page of results through the API | em9oby1jcm06OnBhZ2U6OjM= | \ No newline at end of file diff --git a/docs/Models/Components/CustomField.md b/docs/Models/Components/CustomField.md new file mode 100644 index 00000000..b5f6334a --- /dev/null +++ b/docs/Models/Components/CustomField.md @@ -0,0 +1,11 @@ +# CustomField + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | Unique identifier for the custom field. | 2389328923893298 | +| `Name` | *string* | :heavy_minus_sign: | Name of the custom field. | employee_level | +| `Description` | *string* | :heavy_minus_sign: | More information about the custom field | Employee Level | +| `Value` | [Value](../../Models/Components/Value.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CustomFieldFinder.md b/docs/Models/Components/CustomFieldFinder.md new file mode 100644 index 00000000..82e1765e --- /dev/null +++ b/docs/Models/Components/CustomFieldFinder.md @@ -0,0 +1,12 @@ +# CustomFieldFinder + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | Custom Field ID | 123456 | +| `Name` | *string* | :heavy_minus_sign: | Custom Field name to use as a label if provided | SSN | +| `Description` | *string* | :heavy_minus_sign: | More information about the custom field | Employee Level | +| `Value` | *object* | :heavy_minus_sign: | Custom Field value | 495172776 | +| `Finder` | *string* | :heavy_minus_sign: | JSONPath finder for retrieving this value when mapping a response payload from downstream | | \ No newline at end of file diff --git a/docs/Models/Components/CustomMapping.md b/docs/Models/Components/CustomMapping.md new file mode 100644 index 00000000..e380068b --- /dev/null +++ b/docs/Models/Components/CustomMapping.md @@ -0,0 +1,16 @@ +# CustomMapping + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | Target Field ID | hris+employees+first_aid_training | +| `Label` | *string* | :heavy_minus_sign: | Target Field name to use as a label | First Aid Training | +| `Description` | *string* | :heavy_minus_sign: | Target Field description | First Aid Training completed after 2019-01-01 | +| `Value` | *string* | :heavy_minus_sign: | Target Field Mapping value | $.root.training.first_aid | +| `Key` | *string* | :heavy_minus_sign: | Target Field Key | first_aid_training | +| `Required` | *bool* | :heavy_minus_sign: | Target Field Mapping is required | false | +| `CustomField` | *bool* | :heavy_minus_sign: | This mapping represents a finder for a custom field | true | +| `ConsumerId` | *string* | :heavy_minus_sign: | Consumer ID | test_user_id | +| `Example` | *string* | :heavy_minus_sign: | Target Field Mapping example value from downstream | Some value | \ No newline at end of file diff --git a/docs/Models/Components/CustomMappingInput.md b/docs/Models/Components/CustomMappingInput.md new file mode 100644 index 00000000..06eeb4ff --- /dev/null +++ b/docs/Models/Components/CustomMappingInput.md @@ -0,0 +1,8 @@ +# CustomMappingInput + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `Value` | *string* | :heavy_minus_sign: | Target Field Mapping value | $.root.training.first_aid | \ No newline at end of file diff --git a/docs/Models/Components/CustomMappings.md b/docs/Models/Components/CustomMappings.md new file mode 100644 index 00000000..631361d6 --- /dev/null +++ b/docs/Models/Components/CustomMappings.md @@ -0,0 +1,9 @@ +# CustomMappings + +When custom mappings are configured on the resource, the result is included here. + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/Models/Components/Customer.md b/docs/Models/Components/Customer.md new file mode 100644 index 00000000..0a35e5ca --- /dev/null +++ b/docs/Models/Components/Customer.md @@ -0,0 +1,41 @@ +# Customer + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `DownstreamId` | *string* | :heavy_minus_sign: | The third-party API ID of original entity | 12345 | +| `DisplayId` | *string* | :heavy_minus_sign: | Display ID | EMP00101 | +| `DisplayName` | *string* | :heavy_minus_sign: | Display name | Windsurf Shop | +| `CompanyName` | *string* | :heavy_minus_sign: | The name of the company. | SpaceX | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `Title` | *string* | :heavy_minus_sign: | The job title of the person. | CEO | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the person. | Elon | +| `MiddleName` | *string* | :heavy_minus_sign: | Middle name of the person. | D. | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the person. | Musk | +| `Suffix` | *string* | :heavy_minus_sign: | N/A | Jr. | +| `Individual` | *bool* | :heavy_minus_sign: | Is this an individual or business customer | true | +| `Project` | *bool* | :heavy_minus_sign: | If true, indicates this is a Project. | false | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `Websites` | List<[Website](../../Models/Components/Website.md)> | :heavy_minus_sign: | N/A | | +| `BankAccounts` | List<[BankAccount](../../Models/Components/BankAccount.md)> | :heavy_minus_sign: | N/A | | +| `Notes` | *string* | :heavy_minus_sign: | Some notes about this customer | Some notes about this customer | +| `TaxRate` | [LinkedTaxRate](../../Models/Components/LinkedTaxRate.md) | :heavy_minus_sign: | N/A | | +| `TaxNumber` | *string* | :heavy_minus_sign: | N/A | US123945459 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Account` | [LinkedLedgerAccount](../../Models/Components/LinkedLedgerAccount.md) | :heavy_minus_sign: | N/A | | +| `Parent` | [LinkedParentCustomer](../../Models/Components/LinkedParentCustomer.md) | :heavy_minus_sign: | The parent customer this entity is linked to. | | +| `Status` | [CustomerStatusStatus](../../Models/Components/CustomerStatusStatus.md) | :heavy_minus_sign: | Customer status | active | +| `PaymentMethod` | *string* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `Channel` | *string* | :heavy_minus_sign: | The channel through which the transaction is processed. | email | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/CustomerInput.md b/docs/Models/Components/CustomerInput.md new file mode 100644 index 00000000..fadfb314 --- /dev/null +++ b/docs/Models/Components/CustomerInput.md @@ -0,0 +1,34 @@ +# CustomerInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `DisplayId` | *string* | :heavy_minus_sign: | Display ID | EMP00101 | +| `DisplayName` | *string* | :heavy_minus_sign: | Display name | Windsurf Shop | +| `CompanyName` | *string* | :heavy_minus_sign: | The name of the company. | SpaceX | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `Title` | *string* | :heavy_minus_sign: | The job title of the person. | CEO | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the person. | Elon | +| `MiddleName` | *string* | :heavy_minus_sign: | Middle name of the person. | D. | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the person. | Musk | +| `Suffix` | *string* | :heavy_minus_sign: | N/A | Jr. | +| `Individual` | *bool* | :heavy_minus_sign: | Is this an individual or business customer | true | +| `Project` | *bool* | :heavy_minus_sign: | If true, indicates this is a Project. | false | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `Websites` | List<[Website](../../Models/Components/Website.md)> | :heavy_minus_sign: | N/A | | +| `BankAccounts` | List<[BankAccount](../../Models/Components/BankAccount.md)> | :heavy_minus_sign: | N/A | | +| `Notes` | *string* | :heavy_minus_sign: | Some notes about this customer | Some notes about this customer | +| `TaxRate` | [LinkedTaxRateInput](../../Models/Components/LinkedTaxRateInput.md) | :heavy_minus_sign: | N/A | | +| `TaxNumber` | *string* | :heavy_minus_sign: | N/A | US123945459 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Account` | [LinkedLedgerAccountInput](../../Models/Components/LinkedLedgerAccountInput.md) | :heavy_minus_sign: | N/A | | +| `Parent` | [LinkedParentCustomer](../../Models/Components/LinkedParentCustomer.md) | :heavy_minus_sign: | The parent customer this entity is linked to. | | +| `Status` | [CustomerStatusStatus](../../Models/Components/CustomerStatusStatus.md) | :heavy_minus_sign: | Customer status | active | +| `PaymentMethod` | *string* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `Channel` | *string* | :heavy_minus_sign: | The channel through which the transaction is processed. | email | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/CustomerStatus.md b/docs/Models/Components/CustomerStatus.md new file mode 100644 index 00000000..affcb6ab --- /dev/null +++ b/docs/Models/Components/CustomerStatus.md @@ -0,0 +1,11 @@ +# CustomerStatus + +The current status of the customer + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Active` | active | +| `Archived` | archived | \ No newline at end of file diff --git a/docs/Models/Components/CustomerStatusStatus.md b/docs/Models/Components/CustomerStatusStatus.md new file mode 100644 index 00000000..b23f7e9f --- /dev/null +++ b/docs/Models/Components/CustomerStatusStatus.md @@ -0,0 +1,14 @@ +# CustomerStatusStatus + +Customer status + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `Active` | active | +| `Inactive` | inactive | +| `Archived` | archived | +| `GdprErasureRequest` | gdpr-erasure-request | +| `Unknown` | unknown | \ No newline at end of file diff --git a/docs/Models/Components/CustomersFilter.md b/docs/Models/Components/CustomersFilter.md new file mode 100644 index 00000000..b7c90670 --- /dev/null +++ b/docs/Models/Components/CustomersFilter.md @@ -0,0 +1,14 @@ +# CustomersFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `CompanyName` | *string* | :heavy_minus_sign: | Company Name of customer to search for | SpaceX | +| `DisplayName` | *string* | :heavy_minus_sign: | Display Name of customer to search for | Techno King | +| `FirstName` | *string* | :heavy_minus_sign: | First name of customer to search for | Elon | +| `LastName` | *string* | :heavy_minus_sign: | Last name of customer to search for | Musk | +| `Email` | *string* | :heavy_minus_sign: | Email of customer to search for | elon@spacex.com | +| `Status` | [CustomersFilterStatus](../../Models/Components/CustomersFilterStatus.md) | :heavy_minus_sign: | Status of customer to filter on | active | +| `UpdatedSince` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/CustomersFilterStatus.md b/docs/Models/Components/CustomersFilterStatus.md new file mode 100644 index 00000000..5f6c39a6 --- /dev/null +++ b/docs/Models/Components/CustomersFilterStatus.md @@ -0,0 +1,13 @@ +# CustomersFilterStatus + +Status of customer to filter on + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Active` | active | +| `Inactive` | inactive | +| `Archived` | archived | +| `All` | all | \ No newline at end of file diff --git a/docs/Models/Components/CustomersSort.md b/docs/Models/Components/CustomersSort.md new file mode 100644 index 00000000..74bcd680 --- /dev/null +++ b/docs/Models/Components/CustomersSort.md @@ -0,0 +1,9 @@ +# CustomersSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `By` | [CustomersSortBy](../../Models/Components/CustomersSortBy.md) | :heavy_minus_sign: | The field on which to sort the Customers | updated_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/CustomersSortBy.md b/docs/Models/Components/CustomersSortBy.md new file mode 100644 index 00000000..7e0fb920 --- /dev/null +++ b/docs/Models/Components/CustomersSortBy.md @@ -0,0 +1,11 @@ +# CustomersSortBy + +The field on which to sort the Customers + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | \ No newline at end of file diff --git a/docs/Models/Components/Data.md b/docs/Models/Components/Data.md new file mode 100644 index 00000000..1e777055 --- /dev/null +++ b/docs/Models/Components/Data.md @@ -0,0 +1,16 @@ +# Data + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `ConsumerId` | *string* | :heavy_minus_sign: | N/A | test_consumer_id | +| `ApplicationId` | *string* | :heavy_minus_sign: | N/A | 1111 | +| `Metadata` | [ConsumerMetadata](../../Models/Components/ConsumerMetadata.md) | :heavy_minus_sign: | The metadata of the consumer. This is used to display the consumer in the sidebar. This is optional, but recommended. | | +| `AggregatedRequestCount` | *double* | :heavy_minus_sign: | N/A | 101 | +| `RequestCounts` | [RequestCountAllocation](../../Models/Components/RequestCountAllocation.md) | :heavy_minus_sign: | N/A | | +| `Created` | *string* | :heavy_minus_sign: | N/A | 2021-05-07T12:55:42.242Z | +| `Modified` | *string* | :heavy_minus_sign: | N/A | 2021-05-07T12:55:42.242Z | +| `RequestCountUpdated` | *string* | :heavy_minus_sign: | N/A | 2021-05-07T12:55:42.242Z | +| `Services` | List<*string*> | :heavy_minus_sign: | N/A | [
"salesforce",
"stripe"
] | \ No newline at end of file diff --git a/docs/Models/Components/Deduction.md b/docs/Models/Components/Deduction.md new file mode 100644 index 00000000..784b2a24 --- /dev/null +++ b/docs/Models/Components/Deduction.md @@ -0,0 +1,9 @@ +# Deduction + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `Name` | *string* | :heavy_minus_sign: | The name of the deduction. | Company Car | +| `Amount` | *double* | :heavy_minus_sign: | The amount deducted. | 10.97 | \ No newline at end of file diff --git a/docs/Models/Components/Defaults.md b/docs/Models/Components/Defaults.md new file mode 100644 index 00000000..ec06c735 --- /dev/null +++ b/docs/Models/Components/Defaults.md @@ -0,0 +1,11 @@ +# Defaults + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `Target` | [Target](../../Models/Components/Target.md) | :heavy_minus_sign: | N/A | custom_fields | +| `Id` | *string* | :heavy_minus_sign: | N/A | ProductInterest | +| `Options` | List<[FormFieldOption](../../Models/Components/FormFieldOption.md)> | :heavy_minus_sign: | N/A | | +| `Value` | [ConnectionValue](../../Models/Components/ConnectionValue.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteAccountingDepartmentResponse.md b/docs/Models/Components/DeleteAccountingDepartmentResponse.md new file mode 100644 index 00000000..41f942ca --- /dev/null +++ b/docs/Models/Components/DeleteAccountingDepartmentResponse.md @@ -0,0 +1,15 @@ +# DeleteAccountingDepartmentResponse + +Department deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | departments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteAccountingLocationResponse.md b/docs/Models/Components/DeleteAccountingLocationResponse.md new file mode 100644 index 00000000..fb2b6ff2 --- /dev/null +++ b/docs/Models/Components/DeleteAccountingLocationResponse.md @@ -0,0 +1,15 @@ +# DeleteAccountingLocationResponse + +Location deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | locations | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteActivityResponse.md b/docs/Models/Components/DeleteActivityResponse.md new file mode 100644 index 00000000..b0a330b4 --- /dev/null +++ b/docs/Models/Components/DeleteActivityResponse.md @@ -0,0 +1,15 @@ +# DeleteActivityResponse + +Activity deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | activities | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteApplicantResponse.md b/docs/Models/Components/DeleteApplicantResponse.md new file mode 100644 index 00000000..a2ba4be3 --- /dev/null +++ b/docs/Models/Components/DeleteApplicantResponse.md @@ -0,0 +1,15 @@ +# DeleteApplicantResponse + +Applicants + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | lever | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Applicants | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteApplicationResponse.md b/docs/Models/Components/DeleteApplicationResponse.md new file mode 100644 index 00000000..cad1fa2f --- /dev/null +++ b/docs/Models/Components/DeleteApplicationResponse.md @@ -0,0 +1,15 @@ +# DeleteApplicationResponse + +Applications + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | sap-successfactors | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Applications | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteAttachmentResponse.md b/docs/Models/Components/DeleteAttachmentResponse.md new file mode 100644 index 00000000..5bb13cc2 --- /dev/null +++ b/docs/Models/Components/DeleteAttachmentResponse.md @@ -0,0 +1,15 @@ +# DeleteAttachmentResponse + +Attachments + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | google-drive | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | files | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteBillPaymentResponse.md b/docs/Models/Components/DeleteBillPaymentResponse.md new file mode 100644 index 00000000..9bf5fc23 --- /dev/null +++ b/docs/Models/Components/DeleteBillPaymentResponse.md @@ -0,0 +1,15 @@ +# DeleteBillPaymentResponse + +Bill Payment deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | payments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteBillResponse.md b/docs/Models/Components/DeleteBillResponse.md new file mode 100644 index 00000000..3662a5df --- /dev/null +++ b/docs/Models/Components/DeleteBillResponse.md @@ -0,0 +1,15 @@ +# DeleteBillResponse + +Bill deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | bills | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteCommentResponse.md b/docs/Models/Components/DeleteCommentResponse.md new file mode 100644 index 00000000..2b6a9f3e --- /dev/null +++ b/docs/Models/Components/DeleteCommentResponse.md @@ -0,0 +1,15 @@ +# DeleteCommentResponse + +Delete a Comment + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | jira | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Tickets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteCompanyResponse.md b/docs/Models/Components/DeleteCompanyResponse.md new file mode 100644 index 00000000..06321350 --- /dev/null +++ b/docs/Models/Components/DeleteCompanyResponse.md @@ -0,0 +1,15 @@ +# DeleteCompanyResponse + +Company deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteConsumerResponse.md b/docs/Models/Components/DeleteConsumerResponse.md new file mode 100644 index 00000000..2becf109 --- /dev/null +++ b/docs/Models/Components/DeleteConsumerResponse.md @@ -0,0 +1,12 @@ +# DeleteConsumerResponse + +Consumer deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [DeleteConsumerResponseData](../../Models/Components/DeleteConsumerResponseData.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteConsumerResponseData.md b/docs/Models/Components/DeleteConsumerResponseData.md new file mode 100644 index 00000000..e6d1c9f0 --- /dev/null +++ b/docs/Models/Components/DeleteConsumerResponseData.md @@ -0,0 +1,8 @@ +# DeleteConsumerResponseData + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ConsumerId` | *string* | :heavy_minus_sign: | Unique consumer identifier. You can freely choose a consumer ID yourself. Most of the time, this is an ID of your internal data model that represents a user or account in your system (for example account:12345). If the consumer doesn't exist yet, Vault will upsert a consumer based on your ID. | test_consumer_id | \ No newline at end of file diff --git a/docs/Models/Components/DeleteContactResponse.md b/docs/Models/Components/DeleteContactResponse.md new file mode 100644 index 00000000..05eaf5ec --- /dev/null +++ b/docs/Models/Components/DeleteContactResponse.md @@ -0,0 +1,15 @@ +# DeleteContactResponse + +Contact deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | contacts | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteCreditNoteResponse.md b/docs/Models/Components/DeleteCreditNoteResponse.md new file mode 100644 index 00000000..766922f6 --- /dev/null +++ b/docs/Models/Components/DeleteCreditNoteResponse.md @@ -0,0 +1,15 @@ +# DeleteCreditNoteResponse + +Credit Note deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | credit-notes | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteCustomerResponse.md b/docs/Models/Components/DeleteCustomerResponse.md new file mode 100644 index 00000000..36c9fbbc --- /dev/null +++ b/docs/Models/Components/DeleteCustomerResponse.md @@ -0,0 +1,15 @@ +# DeleteCustomerResponse + +Customers + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | customers | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteDepartmentResponse.md b/docs/Models/Components/DeleteDepartmentResponse.md new file mode 100644 index 00000000..4b9df54c --- /dev/null +++ b/docs/Models/Components/DeleteDepartmentResponse.md @@ -0,0 +1,15 @@ +# DeleteDepartmentResponse + +Departments + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | workday | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Departments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteDriveGroupResponse.md b/docs/Models/Components/DeleteDriveGroupResponse.md new file mode 100644 index 00000000..9f7b3f55 --- /dev/null +++ b/docs/Models/Components/DeleteDriveGroupResponse.md @@ -0,0 +1,15 @@ +# DeleteDriveGroupResponse + +DriveGroups + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | google-drive | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | DriveGroups | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteDriveResponse.md b/docs/Models/Components/DeleteDriveResponse.md new file mode 100644 index 00000000..ec1a67c2 --- /dev/null +++ b/docs/Models/Components/DeleteDriveResponse.md @@ -0,0 +1,15 @@ +# DeleteDriveResponse + +Drives + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | google-drive | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Drives | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteEmployeeResponse.md b/docs/Models/Components/DeleteEmployeeResponse.md new file mode 100644 index 00000000..4a4ce8a0 --- /dev/null +++ b/docs/Models/Components/DeleteEmployeeResponse.md @@ -0,0 +1,15 @@ +# DeleteEmployeeResponse + +Employees + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | sage-hr | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Employees | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteExpenseResponse.md b/docs/Models/Components/DeleteExpenseResponse.md new file mode 100644 index 00000000..eb93cc44 --- /dev/null +++ b/docs/Models/Components/DeleteExpenseResponse.md @@ -0,0 +1,15 @@ +# DeleteExpenseResponse + +Expenses + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Expenses | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteFileResponse.md b/docs/Models/Components/DeleteFileResponse.md new file mode 100644 index 00000000..37571229 --- /dev/null +++ b/docs/Models/Components/DeleteFileResponse.md @@ -0,0 +1,15 @@ +# DeleteFileResponse + +Files + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | google-drive | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | files | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteFolderResponse.md b/docs/Models/Components/DeleteFolderResponse.md new file mode 100644 index 00000000..59d9c25e --- /dev/null +++ b/docs/Models/Components/DeleteFolderResponse.md @@ -0,0 +1,15 @@ +# DeleteFolderResponse + +Folders + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | undefined | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Folders | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteHrisCompanyResponse.md b/docs/Models/Components/DeleteHrisCompanyResponse.md new file mode 100644 index 00000000..76a4db29 --- /dev/null +++ b/docs/Models/Components/DeleteHrisCompanyResponse.md @@ -0,0 +1,15 @@ +# DeleteHrisCompanyResponse + +Companies + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | undefined | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteInvoiceResponse.md b/docs/Models/Components/DeleteInvoiceResponse.md new file mode 100644 index 00000000..9510a507 --- /dev/null +++ b/docs/Models/Components/DeleteInvoiceResponse.md @@ -0,0 +1,15 @@ +# DeleteInvoiceResponse + +Invoice deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | invoices | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [InvoiceResponse](../../Models/Components/InvoiceResponse.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteJournalEntryResponse.md b/docs/Models/Components/DeleteJournalEntryResponse.md new file mode 100644 index 00000000..7d9944f3 --- /dev/null +++ b/docs/Models/Components/DeleteJournalEntryResponse.md @@ -0,0 +1,15 @@ +# DeleteJournalEntryResponse + +JournalEntries + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | journal-entries | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteLeadResponse.md b/docs/Models/Components/DeleteLeadResponse.md new file mode 100644 index 00000000..14c13cb4 --- /dev/null +++ b/docs/Models/Components/DeleteLeadResponse.md @@ -0,0 +1,15 @@ +# DeleteLeadResponse + +Lead deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteLedgerAccountResponse.md b/docs/Models/Components/DeleteLedgerAccountResponse.md new file mode 100644 index 00000000..b273787f --- /dev/null +++ b/docs/Models/Components/DeleteLedgerAccountResponse.md @@ -0,0 +1,15 @@ +# DeleteLedgerAccountResponse + +LedgerAccount deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | ledger-accounts | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteMessageResponse.md b/docs/Models/Components/DeleteMessageResponse.md new file mode 100644 index 00000000..02823517 --- /dev/null +++ b/docs/Models/Components/DeleteMessageResponse.md @@ -0,0 +1,15 @@ +# DeleteMessageResponse + +Messages + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | twilio | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Messages | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteNoteResponse.md b/docs/Models/Components/DeleteNoteResponse.md new file mode 100644 index 00000000..f18f7305 --- /dev/null +++ b/docs/Models/Components/DeleteNoteResponse.md @@ -0,0 +1,15 @@ +# DeleteNoteResponse + +Note deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | notes | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteOpportunityResponse.md b/docs/Models/Components/DeleteOpportunityResponse.md new file mode 100644 index 00000000..eefaa6d7 --- /dev/null +++ b/docs/Models/Components/DeleteOpportunityResponse.md @@ -0,0 +1,15 @@ +# DeleteOpportunityResponse + +Opportunity deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeletePaymentResponse.md b/docs/Models/Components/DeletePaymentResponse.md new file mode 100644 index 00000000..475c7bab --- /dev/null +++ b/docs/Models/Components/DeletePaymentResponse.md @@ -0,0 +1,15 @@ +# DeletePaymentResponse + +Payment deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | payments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeletePipelineResponse.md b/docs/Models/Components/DeletePipelineResponse.md new file mode 100644 index 00000000..d0472d9c --- /dev/null +++ b/docs/Models/Components/DeletePipelineResponse.md @@ -0,0 +1,15 @@ +# DeletePipelineResponse + +Pipeline deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeletePurchaseOrderResponse.md b/docs/Models/Components/DeletePurchaseOrderResponse.md new file mode 100644 index 00000000..cfc0f527 --- /dev/null +++ b/docs/Models/Components/DeletePurchaseOrderResponse.md @@ -0,0 +1,15 @@ +# DeletePurchaseOrderResponse + +PurchaseOrders + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | PurchaseOrders | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteSharedLinkResponse.md b/docs/Models/Components/DeleteSharedLinkResponse.md new file mode 100644 index 00000000..49fb622d --- /dev/null +++ b/docs/Models/Components/DeleteSharedLinkResponse.md @@ -0,0 +1,15 @@ +# DeleteSharedLinkResponse + +Shared Links + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | dropbox | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Shared Links | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteSubsidiaryResponse.md b/docs/Models/Components/DeleteSubsidiaryResponse.md new file mode 100644 index 00000000..01fc8ad8 --- /dev/null +++ b/docs/Models/Components/DeleteSubsidiaryResponse.md @@ -0,0 +1,15 @@ +# DeleteSubsidiaryResponse + +Subsidiarys + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | subsidiaries | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteSupplierResponse.md b/docs/Models/Components/DeleteSupplierResponse.md new file mode 100644 index 00000000..faa5ad65 --- /dev/null +++ b/docs/Models/Components/DeleteSupplierResponse.md @@ -0,0 +1,15 @@ +# DeleteSupplierResponse + +Supplier deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | suppliers | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteTaxRateResponse.md b/docs/Models/Components/DeleteTaxRateResponse.md new file mode 100644 index 00000000..66d2ad0e --- /dev/null +++ b/docs/Models/Components/DeleteTaxRateResponse.md @@ -0,0 +1,15 @@ +# DeleteTaxRateResponse + +TaxRates deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | tax-rates | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteTicketResponse.md b/docs/Models/Components/DeleteTicketResponse.md new file mode 100644 index 00000000..6ea23804 --- /dev/null +++ b/docs/Models/Components/DeleteTicketResponse.md @@ -0,0 +1,15 @@ +# DeleteTicketResponse + +Delete a Ticket + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | jira | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Tickets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | add | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteTimeOffRequestResponse.md b/docs/Models/Components/DeleteTimeOffRequestResponse.md new file mode 100644 index 00000000..96a06414 --- /dev/null +++ b/docs/Models/Components/DeleteTimeOffRequestResponse.md @@ -0,0 +1,15 @@ +# DeleteTimeOffRequestResponse + +TimeOffRequests + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | bamboohr | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | time-off-requests | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteTrackingCategoryResponse.md b/docs/Models/Components/DeleteTrackingCategoryResponse.md new file mode 100644 index 00000000..d5031e57 --- /dev/null +++ b/docs/Models/Components/DeleteTrackingCategoryResponse.md @@ -0,0 +1,15 @@ +# DeleteTrackingCategoryResponse + +Tracking category deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | tracking-categories | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteUploadSessionResponse.md b/docs/Models/Components/DeleteUploadSessionResponse.md new file mode 100644 index 00000000..b00c7573 --- /dev/null +++ b/docs/Models/Components/DeleteUploadSessionResponse.md @@ -0,0 +1,15 @@ +# DeleteUploadSessionResponse + +UploadSessions + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | dropbox | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | UploadSessions | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteUserResponse.md b/docs/Models/Components/DeleteUserResponse.md new file mode 100644 index 00000000..1e288767 --- /dev/null +++ b/docs/Models/Components/DeleteUserResponse.md @@ -0,0 +1,15 @@ +# DeleteUserResponse + +User deleted + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | users | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | delete | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeleteWebhookResponse.md b/docs/Models/Components/DeleteWebhookResponse.md new file mode 100644 index 00000000..b3b162a5 --- /dev/null +++ b/docs/Models/Components/DeleteWebhookResponse.md @@ -0,0 +1,12 @@ +# DeleteWebhookResponse + +Webhooks + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [Models.Components.Webhook](../../Models/Components/Webhook.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/Department.md b/docs/Models/Components/Department.md new file mode 100644 index 00000000..181d8251 --- /dev/null +++ b/docs/Models/Components/Department.md @@ -0,0 +1,18 @@ +# Department + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `ParentId` | *string* | :heavy_minus_sign: | Parent ID | 22345 | +| `Name` | *string* | :heavy_minus_sign: | Department name | R&D | +| `Code` | *string* | :heavy_minus_sign: | N/A | 2 | +| `Description` | *string* | :heavy_minus_sign: | N/A | R&D | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/DepartmentInput.md b/docs/Models/Components/DepartmentInput.md new file mode 100644 index 00000000..9c7e7cee --- /dev/null +++ b/docs/Models/Components/DepartmentInput.md @@ -0,0 +1,11 @@ +# DepartmentInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_minus_sign: | Department name | R&D | +| `Code` | *string* | :heavy_minus_sign: | N/A | 2 | +| `Description` | *string* | :heavy_minus_sign: | N/A | R&D | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/DepartmentStatus.md b/docs/Models/Components/DepartmentStatus.md new file mode 100644 index 00000000..3080304a --- /dev/null +++ b/docs/Models/Components/DepartmentStatus.md @@ -0,0 +1,11 @@ +# DepartmentStatus + +Based on the status some functionality is enabled or disabled. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Active` | active | +| `Inactive` | inactive | \ No newline at end of file diff --git a/docs/Models/Components/DeprecatedLinkedSupplier.md b/docs/Models/Components/DeprecatedLinkedSupplier.md new file mode 100644 index 00000000..d52a13af --- /dev/null +++ b/docs/Models/Components/DeprecatedLinkedSupplier.md @@ -0,0 +1,16 @@ +# ~~DeprecatedLinkedSupplier~~ + +The supplier this entity is linked to. + +> :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible. + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `DisplayId` | *string* | :heavy_minus_sign: | The display ID of the supplier. | SUPP00101 | +| `DisplayName` | *string* | :heavy_minus_sign: | The display name of the supplier. | Windsurf Shop | +| `CompanyName` | *string* | :heavy_minus_sign: | The company name of the supplier. | The boring company | +| `Address` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeprecatedLinkedSupplierInput.md b/docs/Models/Components/DeprecatedLinkedSupplierInput.md new file mode 100644 index 00000000..e54cdea6 --- /dev/null +++ b/docs/Models/Components/DeprecatedLinkedSupplierInput.md @@ -0,0 +1,13 @@ +# ~~DeprecatedLinkedSupplierInput~~ + +The supplier this entity is linked to. + +> :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible. + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | +| `DisplayName` | *string* | :heavy_minus_sign: | The display name of the supplier. | Windsurf Shop | +| `Address` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DeprecatedLinkedTrackingCategory.md b/docs/Models/Components/DeprecatedLinkedTrackingCategory.md new file mode 100644 index 00000000..9f597128 --- /dev/null +++ b/docs/Models/Components/DeprecatedLinkedTrackingCategory.md @@ -0,0 +1,11 @@ +# ~~DeprecatedLinkedTrackingCategory~~ + +> :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | The unique identifier for the tracking category. | 123456 | +| `Name` | *string* | :heavy_minus_sign: | The name of the tracking category. | New York | \ No newline at end of file diff --git a/docs/Models/Components/Detail.md b/docs/Models/Components/Detail.md new file mode 100644 index 00000000..24228d02 --- /dev/null +++ b/docs/Models/Components/Detail.md @@ -0,0 +1,18 @@ +# Detail + +Contains parameter or domain specific information related to the error and why it occurred. + + +## Supported Types + +### Str + +```csharp +Detail.CreateStr(/* values here */); +``` + +### MapOfAny + +```csharp +Detail.CreateMapOfAny(/* values here */); +``` diff --git a/docs/Models/Components/Direction.md b/docs/Models/Components/Direction.md new file mode 100644 index 00000000..39fb76e5 --- /dev/null +++ b/docs/Models/Components/Direction.md @@ -0,0 +1,14 @@ +# Direction + +The direction of the message. + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `Inbound` | inbound | +| `OutboundApi` | outbound-api | +| `OutboundCall` | outbound-call | +| `OutboundReply` | outbound-reply | +| `Unknown` | unknown | \ No newline at end of file diff --git a/docs/Models/Components/DisabledReason.md b/docs/Models/Components/DisabledReason.md new file mode 100644 index 00000000..d7fc5afe --- /dev/null +++ b/docs/Models/Components/DisabledReason.md @@ -0,0 +1,12 @@ +# DisabledReason + +Indicates if the webhook has has been disabled as it reached its retry limit or if account is over the usage allocated by it's plan. + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `None` | none | +| `RetryLimit` | retry_limit | +| `UsageLimit` | usage_limit | \ No newline at end of file diff --git a/docs/Models/Components/Drive.md b/docs/Models/Components/Drive.md new file mode 100644 index 00000000..ed4e7458 --- /dev/null +++ b/docs/Models/Components/Drive.md @@ -0,0 +1,16 @@ +# Drive + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_check_mark: | The name of the drive | Project Resources | +| `Description` | *string* | :heavy_minus_sign: | A description of the object. | A description | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/DriveGroup.md b/docs/Models/Components/DriveGroup.md new file mode 100644 index 00000000..94ee2755 --- /dev/null +++ b/docs/Models/Components/DriveGroup.md @@ -0,0 +1,17 @@ +# DriveGroup + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_check_mark: | The name of the drive group | accounting | +| `DisplayName` | *string* | :heavy_minus_sign: | The display name of the drive group | accounting | +| `Description` | *string* | :heavy_minus_sign: | A description of the object. | A description | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/DriveGroupInput.md b/docs/Models/Components/DriveGroupInput.md new file mode 100644 index 00000000..2c3b5715 --- /dev/null +++ b/docs/Models/Components/DriveGroupInput.md @@ -0,0 +1,11 @@ +# DriveGroupInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_check_mark: | The name of the drive group | accounting | +| `DisplayName` | *string* | :heavy_minus_sign: | The display name of the drive group | accounting | +| `Description` | *string* | :heavy_minus_sign: | A description of the object. | A description | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/DriveGroupsFilter.md b/docs/Models/Components/DriveGroupsFilter.md new file mode 100644 index 00000000..343d48fb --- /dev/null +++ b/docs/Models/Components/DriveGroupsFilter.md @@ -0,0 +1,8 @@ +# DriveGroupsFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `ParentGroupId` | *string* | :heavy_minus_sign: | ID of the drive group to filter on | 1234 | \ No newline at end of file diff --git a/docs/Models/Components/DriveInput.md b/docs/Models/Components/DriveInput.md new file mode 100644 index 00000000..f1e66644 --- /dev/null +++ b/docs/Models/Components/DriveInput.md @@ -0,0 +1,10 @@ +# DriveInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_check_mark: | The name of the drive | Project Resources | +| `Description` | *string* | :heavy_minus_sign: | A description of the object. | A description | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/DrivesFilter.md b/docs/Models/Components/DrivesFilter.md new file mode 100644 index 00000000..b2224267 --- /dev/null +++ b/docs/Models/Components/DrivesFilter.md @@ -0,0 +1,8 @@ +# DrivesFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `GroupId` | *string* | :heavy_minus_sign: | ID of the drive group to filter on | 1234 | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceAddress.md b/docs/Models/Components/EcommerceAddress.md new file mode 100644 index 00000000..40f8911f --- /dev/null +++ b/docs/Models/Components/EcommerceAddress.md @@ -0,0 +1,16 @@ +# EcommerceAddress + +An object representing a shipping or billing address. + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `Line1` | *string* | :heavy_minus_sign: | Address line 1 of the billing address. | 123 Main Street | +| `Line2` | *string* | :heavy_minus_sign: | Address line 2 of the billing address. | Apt 1 | +| `CompanyName` | *string* | :heavy_minus_sign: | Company name of the customer | Acme Inc. | +| `City` | *string* | :heavy_minus_sign: | City of the billing address. | New York | +| `State` | *string* | :heavy_minus_sign: | State/province of the billing address. | NY | +| `PostalCode` | *string* | :heavy_minus_sign: | Postal/ZIP code of the billing address. | 10001 | +| `Country` | *string* | :heavy_minus_sign: | Country of the billing address. | US | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceCustomer.md b/docs/Models/Components/EcommerceCustomer.md new file mode 100644 index 00000000..68f1a0aa --- /dev/null +++ b/docs/Models/Components/EcommerceCustomer.md @@ -0,0 +1,21 @@ +# EcommerceCustomer + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | Full name of the customer | John Doe | +| `FirstName` | *string* | :heavy_minus_sign: | First name of the customer | John | +| `LastName` | *string* | :heavy_minus_sign: | Last name of the customer | Doe | +| `CompanyName` | *string* | :heavy_minus_sign: | Company name of the customer | Acme Inc. | +| `Status` | [CustomerStatus](../../Models/Components/CustomerStatus.md) | :heavy_minus_sign: | The current status of the customer | active | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | An array of email addresses for the customer. | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | An array of phone numbers for the customer. | | +| `Addresses` | List<[Addresses](../../Models/Components/Addresses.md)> | :heavy_minus_sign: | An array of addresses for the customer. | | +| `Orders` | List<[LinkedEcommerceOrder](../../Models/Components/LinkedEcommerceOrder.md)> | :heavy_minus_sign: | N/A | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceCustomerType.md b/docs/Models/Components/EcommerceCustomerType.md new file mode 100644 index 00000000..375e79f6 --- /dev/null +++ b/docs/Models/Components/EcommerceCustomerType.md @@ -0,0 +1,10 @@ +# EcommerceCustomerType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Billing` | billing | +| `Shipping` | shipping | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceCustomersFilter.md b/docs/Models/Components/EcommerceCustomersFilter.md new file mode 100644 index 00000000..9504c739 --- /dev/null +++ b/docs/Models/Components/EcommerceCustomersFilter.md @@ -0,0 +1,9 @@ +# EcommerceCustomersFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `Email` | *string* | :heavy_minus_sign: | Customer email address to filter on | elon@musk.com | +| `PhoneNumber` | *string* | :heavy_minus_sign: | Customer phone number to filter on | 111-111-1111 | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceDiscount.md b/docs/Models/Components/EcommerceDiscount.md new file mode 100644 index 00000000..a4e1a84d --- /dev/null +++ b/docs/Models/Components/EcommerceDiscount.md @@ -0,0 +1,12 @@ +# EcommerceDiscount + +An object representing a discount applied to an ecommerce order or product. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `Code` | *string* | :heavy_minus_sign: | The code used to apply the discount. | SUMMER20 | +| `Amount` | *string* | :heavy_minus_sign: | The fixed amount of the discount. | 5.99 | +| `Percentage` | *string* | :heavy_minus_sign: | The percentage of the discount. | 0.1 | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceOrder.md b/docs/Models/Components/EcommerceOrder.md new file mode 100644 index 00000000..19fb79ee --- /dev/null +++ b/docs/Models/Components/EcommerceOrder.md @@ -0,0 +1,31 @@ +# EcommerceOrder + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `OrderNumber` | *string* | :heavy_minus_sign: | Order number, if any. | 123456789 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Discounts` | List<[EcommerceDiscount](../../Models/Components/EcommerceDiscount.md)> | :heavy_minus_sign: | N/A | | +| `SubTotal` | *string* | :heavy_minus_sign: | Sub-total amount, normally before tax. | 45.17 | +| `ShippingCost` | *string* | :heavy_minus_sign: | Shipping cost, if any. | 5.17 | +| `CouponDiscount` | *string* | :heavy_minus_sign: | Coupon discount, if any. | 5.5 | +| `TotalDiscount` | *string* | :heavy_minus_sign: | Total discount, if any. | 5.5 | +| `TotalTax` | *string* | :heavy_minus_sign: | Total tax, if any. | 5.16 | +| `TotalAmount` | *string* | :heavy_minus_sign: | Total amount due. | 50.17 | +| `RefundedAmount` | *string* | :heavy_minus_sign: | Refunded amount, if any. | 5.5 | +| `Status` | [EcommerceOrderStatus](../../Models/Components/EcommerceOrderStatus.md) | :heavy_minus_sign: | Current status of the order. | active | +| `PaymentStatus` | [EcommerceOrderPaymentStatus](../../Models/Components/EcommerceOrderPaymentStatus.md) | :heavy_minus_sign: | Current payment status of the order. | paid | +| `FulfillmentStatus` | [FulfillmentStatus](../../Models/Components/FulfillmentStatus.md) | :heavy_minus_sign: | Current fulfillment status of the order. | shipped | +| `PaymentMethod` | *string* | :heavy_minus_sign: | Payment method used for this order. | credit_card | +| `Customer` | [LinkedEcommerceCustomer](../../Models/Components/LinkedEcommerceCustomer.md) | :heavy_minus_sign: | The customer this entity is linked to. | | +| `BillingAddress` | [EcommerceAddress](../../Models/Components/EcommerceAddress.md) | :heavy_minus_sign: | An object representing a shipping or billing address. | | +| `ShippingAddress` | [EcommerceAddress](../../Models/Components/EcommerceAddress.md) | :heavy_minus_sign: | An object representing a shipping or billing address. | | +| `Tracking` | List<[TrackingItem](../../Models/Components/TrackingItem.md)> | :heavy_minus_sign: | N/A | | +| `LineItems` | List<[EcommerceOrderLineItem](../../Models/Components/EcommerceOrderLineItem.md)> | :heavy_minus_sign: | N/A | | +| `Note` | *string* | :heavy_minus_sign: | Note for the order. | Special instructions for delivery | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceOrderLineItem.md b/docs/Models/Components/EcommerceOrderLineItem.md new file mode 100644 index 00000000..d5fabb52 --- /dev/null +++ b/docs/Models/Components/EcommerceOrderLineItem.md @@ -0,0 +1,26 @@ +# EcommerceOrderLineItem + +A single line item of an ecommerce order, representing a product or variant with associated options, quantity, and pricing information. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `ProductId` | *string* | :heavy_minus_sign: | A unique identifier for the product associated with the line item. | def456 | +| `VariantId` | *string* | :heavy_minus_sign: | A unique identifier for the variant of the product associated with the line item, if applicable. | ghi789 | +| `Sku` | *string* | :heavy_minus_sign: | The SKU of the product or variant associated with the line item. | MBP123-16GB-SILVER-13 | +| `Name` | *string* | :heavy_check_mark: | The name of the product or variant associated with the line item. | Midnight 16inch MacBook Pro | +| `Description` | *string* | :heavy_minus_sign: | The description of the product or variant associated with the line item. | Powerful and portable, the MacBook Pro is perfect for professionals and creatives. | +| `Options` | List<[Options](../../Models/Components/Options.md)> | :heavy_minus_sign: | N/A | | +| `Quantity` | *string* | :heavy_check_mark: | The quantity of the product or variant associated with the line item. | 2 | +| `UnitPrice` | *string* | :heavy_minus_sign: | The unit price of the product or variant associated with the line item. | 19.99 | +| `TaxRate` | *string* | :heavy_minus_sign: | The tax rate applied to the product or variant associated with the line item. | 0.08 | +| `TaxAmount` | *string* | :heavy_minus_sign: | The total tax amount applied to the product or variant associated with the line item. | 1.6 | +| `IsRefunded` | *bool* | :heavy_minus_sign: | Whether the line item has been refunded. | false | +| `RefundedAmount` | *string* | :heavy_minus_sign: | The amount of the line item that has been refunded. | 0 | +| `RefundedQuantity` | *string* | :heavy_minus_sign: | The quantity of the line item that has been refunded. | 0 | +| `SubTotal` | *string* | :heavy_minus_sign: | The sub total for the product(s) or variant associated with the line item, excluding taxes and discounts. | 43.18 | +| `TotalAmount` | *string* | :heavy_check_mark: | The total amount for the product(s) or variant associated with the line item, including taxes and discounts. | 43.18 | +| `Discounts` | List<[EcommerceDiscount](../../Models/Components/EcommerceDiscount.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceOrderPaymentStatus.md b/docs/Models/Components/EcommerceOrderPaymentStatus.md new file mode 100644 index 00000000..95827cb7 --- /dev/null +++ b/docs/Models/Components/EcommerceOrderPaymentStatus.md @@ -0,0 +1,16 @@ +# EcommerceOrderPaymentStatus + +Current payment status of the order. + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Pending` | pending | +| `Authorized` | authorized | +| `Paid` | paid | +| `Partial` | partial | +| `Refunded` | refunded | +| `Voided` | voided | +| `Unknown` | unknown | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceOrderStatus.md b/docs/Models/Components/EcommerceOrderStatus.md new file mode 100644 index 00000000..55a61471 --- /dev/null +++ b/docs/Models/Components/EcommerceOrderStatus.md @@ -0,0 +1,15 @@ +# EcommerceOrderStatus + +Current status of the order. + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Active` | active | +| `Completed` | completed | +| `Cancelled` | cancelled | +| `Archived` | archived | +| `Unknown` | unknown | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceOrdersFilter.md b/docs/Models/Components/EcommerceOrdersFilter.md new file mode 100644 index 00000000..41d3d39d --- /dev/null +++ b/docs/Models/Components/EcommerceOrdersFilter.md @@ -0,0 +1,11 @@ +# EcommerceOrdersFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `Email` | *string* | :heavy_minus_sign: | Customer email address to filter on | elon@musk.com | +| `CustomerId` | *string* | :heavy_minus_sign: | Customer id to filter on | 123 | +| `UpdatedSince` | *string* | :heavy_minus_sign: | Minimum date the order was last modified | 2020-09-30T07:43:32.000Z | +| `CreatedSince` | *string* | :heavy_minus_sign: | Minimum date the order was created | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceProduct.md b/docs/Models/Components/EcommerceProduct.md new file mode 100644 index 00000000..9b90ae26 --- /dev/null +++ b/docs/Models/Components/EcommerceProduct.md @@ -0,0 +1,24 @@ +# EcommerceProduct + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the product as it should be displayed to customers. | MacBook Pro | +| `Description` | *string* | :heavy_minus_sign: | A detailed description of the product. | Powerful and portable, the MacBook Pro is perfect for professionals and creatives. | +| `Status` | [ProductStatus](../../Models/Components/ProductStatus.md) | :heavy_minus_sign: | The current status of the product (active or archived). | active | +| `Price` | *string* | :heavy_minus_sign: | The price of the product. | 1999.99 | +| `Sku` | *string* | :heavy_minus_sign: | The stock keeping unit of the product. | MBP123 | +| `InventoryQuantity` | *string* | :heavy_minus_sign: | The quantity of the product in stock. | 10 | +| `Images` | List<[Images](../../Models/Components/Images.md)> | :heavy_minus_sign: | An array of image URLs for the product. | | +| `Weight` | *string* | :heavy_minus_sign: | The weight of the product. | 1.25 | +| `WeightUnit` | *string* | :heavy_minus_sign: | The unit of measurement for the weight of the product. | lb | +| `Options` | List<[EcommerceProductOptions](../../Models/Components/EcommerceProductOptions.md)> | :heavy_minus_sign: | An array of options for the product. | | +| `Variants` | List<[Variants](../../Models/Components/Variants.md)> | :heavy_minus_sign: | N/A | | +| `Tags` | List<*string*> | :heavy_minus_sign: | An array of tags for the product, used for organization and searching. | | +| `Categories` | List<[EcommerceProductCategories](../../Models/Components/EcommerceProductCategories.md)> | :heavy_minus_sign: | An array of categories for the product, used for organization and searching. | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceProductCategories.md b/docs/Models/Components/EcommerceProductCategories.md new file mode 100644 index 00000000..3f0546fd --- /dev/null +++ b/docs/Models/Components/EcommerceProductCategories.md @@ -0,0 +1,9 @@ +# EcommerceProductCategories + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the category. | Laptops | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceProductImages.md b/docs/Models/Components/EcommerceProductImages.md new file mode 100644 index 00000000..85fdcb3d --- /dev/null +++ b/docs/Models/Components/EcommerceProductImages.md @@ -0,0 +1,9 @@ +# EcommerceProductImages + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Url` | *string* | :heavy_minus_sign: | The URL of an image of the variant. | https://example.com/macbook-pro.jpg | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceProductOptions.md b/docs/Models/Components/EcommerceProductOptions.md new file mode 100644 index 00000000..f9d5786c --- /dev/null +++ b/docs/Models/Components/EcommerceProductOptions.md @@ -0,0 +1,10 @@ +# EcommerceProductOptions + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for the option of the product. | 1 | +| `Name` | *string* | :heavy_minus_sign: | The name of the option for the product. | Color | +| `Values` | List<*string*> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceProductVariantsOptions.md b/docs/Models/Components/EcommerceProductVariantsOptions.md new file mode 100644 index 00000000..4124cb60 --- /dev/null +++ b/docs/Models/Components/EcommerceProductVariantsOptions.md @@ -0,0 +1,10 @@ +# EcommerceProductVariantsOptions + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for the option of the variant. | 1 | +| `Name` | *string* | :heavy_minus_sign: | The name of the option for the variant. | Color | +| `Value` | *string* | :heavy_minus_sign: | The value of the option for the variant. | Silver | \ No newline at end of file diff --git a/docs/Models/Components/EcommerceStore.md b/docs/Models/Components/EcommerceStore.md new file mode 100644 index 00000000..cb708949 --- /dev/null +++ b/docs/Models/Components/EcommerceStore.md @@ -0,0 +1,14 @@ +# EcommerceStore + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The store's name | My Store | +| `StoreUrl` | *string* | :heavy_minus_sign: | The store's website URL | https://mybrand.com/shop | +| `AdminUrl` | *string* | :heavy_minus_sign: | The store's admin login URL | https://mybrand.com/admin | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/Email.md b/docs/Models/Components/Email.md new file mode 100644 index 00000000..244a49d2 --- /dev/null +++ b/docs/Models/Components/Email.md @@ -0,0 +1,10 @@ +# Email + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | Unique identifier for the email address | 123 | +| `Email` | *string* | :heavy_check_mark: | Email address | elon@musk.com | +| `Type` | [EmailType](../../Models/Components/EmailType.md) | :heavy_minus_sign: | Email type | primary | \ No newline at end of file diff --git a/docs/Models/Components/EmailType.md b/docs/Models/Components/EmailType.md new file mode 100644 index 00000000..36d68def --- /dev/null +++ b/docs/Models/Components/EmailType.md @@ -0,0 +1,15 @@ +# EmailType + +Email type + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Primary` | primary | +| `Secondary` | secondary | +| `Work` | work | +| `Personal` | personal | +| `Billing` | billing | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/Employee.md b/docs/Models/Components/Employee.md new file mode 100644 index 00000000..1b4ac933 --- /dev/null +++ b/docs/Models/Components/Employee.md @@ -0,0 +1,73 @@ +# Employee + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the person. | Elon | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the person. | Musk | +| `MiddleName` | *string* | :heavy_minus_sign: | Middle name of the person. | D. | +| `DisplayName` | *string* | :heavy_minus_sign: | The name used to display the employee, often a combination of their first and last names. | Technoking | +| `PreferredName` | *string* | :heavy_minus_sign: | The name the employee prefers to be addressed by, which may be different from their legal name. | Elon Musk | +| `Initials` | *string* | :heavy_minus_sign: | The initials of the person, usually derived from their first, middle, and last names. | EM | +| `Salutation` | *string* | :heavy_minus_sign: | A formal salutation for the person. For example, 'Mr', 'Mrs' | Mr | +| `Title` | *string* | :heavy_minus_sign: | The job title of the person. | CEO | +| `MaritalStatus` | *string* | :heavy_minus_sign: | The marital status of the employee. | married | +| `Partner` | [Person](../../Models/Components/Person.md) | :heavy_minus_sign: | N/A | | +| `Division` | *string* | :heavy_minus_sign: | The division the person is currently in. Usually a collection of departments or teams or regions. | Europe | +| `DivisionId` | *string* | :heavy_minus_sign: | Unique identifier of the division this employee belongs to. | 12345 | +| ~~`Department`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

The department the person is currently in. [Deprecated](https://developers.apideck.com/changelog) in favor of the dedicated department_id and department_name field. | R&D | +| `DepartmentId` | *string* | :heavy_minus_sign: | Unique identifier of the department ID this employee belongs to. | 12345 | +| `DepartmentName` | *string* | :heavy_minus_sign: | Name of the department this employee belongs to. | 12345 | +| `Team` | [Team](../../Models/Components/Team.md) | :heavy_minus_sign: | The team the person is currently in. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The unique identifier of the company. | 23456 | +| `CompanyName` | *string* | :heavy_minus_sign: | The name of the company. | SpaceX | +| `EmploymentStartDate` | *string* | :heavy_minus_sign: | A Start Date is the date that the employee started working at the company | 2021-10-26 | +| `EmploymentEndDate` | *string* | :heavy_minus_sign: | An End Date is the date that the employee ended working at the company | 2028-10-26 | +| `LeavingReason` | [LeavingReason](../../Models/Components/LeavingReason.md) | :heavy_minus_sign: | The reason because the employment ended. | resigned | +| `EmployeeNumber` | *string* | :heavy_minus_sign: | An Employee Number, Employee ID or Employee Code, is a unique number that has been assigned to each individual staff member within a company. | 123456-AB | +| `EmploymentStatus` | [EmploymentStatus](../../Models/Components/EmploymentStatus.md) | :heavy_minus_sign: | The employment status of the employee, indicating whether they are currently employed, inactive, terminated, or in another status. | active | +| `EmploymentRole` | [EmploymentRole](../../Models/Components/EmploymentRole.md) | :heavy_minus_sign: | N/A | | +| `Ethnicity` | *string* | :heavy_minus_sign: | The ethnicity of the employee | African American | +| `Manager` | [Manager](../../Models/Components/Manager.md) | :heavy_minus_sign: | N/A | | +| `DirectReports` | List<*string*> | :heavy_minus_sign: | Direct reports is an array of ids that reflect the individuals in an organizational hierarchy who are directly supervised by this specific employee. | [
"a0d636c6-43b3-4bde-8c70-85b707d992f4",
"a98lfd96-43b3-4bde-8c70-85b707d992e6"
] | +| `SocialSecurityNumber` | *string* | :heavy_minus_sign: | A unique identifier assigned by the government. This field is considered sensitive information and may be subject to special security and privacy restrictions. | 123456789 | +| `Birthday` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date of birth of the person. | 2000-08-12 | +| `DeceasedOn` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date the person deceased. | 2000-08-12 | +| `CountryOfBirth` | *string* | :heavy_minus_sign: | Country code according to ISO 3166-1 alpha-2. | US | +| `Description` | *string* | :heavy_minus_sign: | A description of the object. | A description | +| `Gender` | [Gender](../../Models/Components/Gender.md) | :heavy_minus_sign: | The gender represents the gender identity of a person. | male | +| `Pronouns` | *string* | :heavy_minus_sign: | The preferred pronouns of the person. | she,her | +| `PreferredLanguage` | *string* | :heavy_minus_sign: | language code according to ISO 639-1. For the United States - EN | EN | +| `Languages` | List<*string*> | :heavy_minus_sign: | N/A | | +| `Nationalities` | List<*string*> | :heavy_minus_sign: | N/A | | +| `PhotoUrl` | *string* | :heavy_minus_sign: | The URL of the photo of a person. | https://unavatar.io/elon-musk | +| `Timezone` | *string* | :heavy_minus_sign: | The time zone related to the resource. The value is a string containing a standard time zone identifier, e.g. Europe/London. | Europe/London | +| `Source` | *string* | :heavy_minus_sign: | When the employee is imported as a new hire, this field indicates what system (e.g. the name of the ATS) this employee was imported from. | lever | +| `SourceId` | *string* | :heavy_minus_sign: | Unique identifier of the employee in the system this employee was imported from (e.g. the ID in the ATS). | 12345 | +| `RecordUrl` | *string* | :heavy_minus_sign: | N/A | https://app.intercom.io/contacts/12345 | +| `Jobs` | List<[EmployeeJob](../../Models/Components/EmployeeJob.md)> | :heavy_minus_sign: | N/A | | +| `Compensations` | List<[EmployeeCompensation](../../Models/Components/EmployeeCompensation.md)> | :heavy_minus_sign: | N/A | | +| `WorksRemote` | *bool* | :heavy_minus_sign: | Indicates if the employee works from a remote location. | true | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `SocialLinks` | List<[SocialLink](../../Models/Components/SocialLink.md)> | :heavy_minus_sign: | N/A | | +| `BankAccounts` | List<[BankAccount](../../Models/Components/BankAccount.md)> | :heavy_minus_sign: | N/A | | +| `TaxCode` | *string* | :heavy_minus_sign: | N/A | 1111 | +| `TaxId` | *string* | :heavy_minus_sign: | N/A | 234-32-0000 | +| `DietaryPreference` | *string* | :heavy_minus_sign: | Indicate the employee's dietary preference. | Veggie | +| `FoodAllergies` | List<*string*> | :heavy_minus_sign: | Indicate the employee's food allergies. | [
"No allergies"
] | +| `ProbationPeriod` | [ProbationPeriod](../../Models/Components/ProbationPeriod.md) | :heavy_minus_sign: | N/A | | +| `Tags` | List<*string*> | :heavy_minus_sign: | N/A | [
"New"
] | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `Deleted` | *bool* | :heavy_minus_sign: | Flag to indicate if the object is deleted. | true | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/EmployeeCompensation.md b/docs/Models/Components/EmployeeCompensation.md new file mode 100644 index 00000000..36752b91 --- /dev/null +++ b/docs/Models/Components/EmployeeCompensation.md @@ -0,0 +1,15 @@ +# EmployeeCompensation + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `JobId` | *string* | :heavy_minus_sign: | The ID of the job to which the compensation belongs. | 12345 | +| `Rate` | *double* | :heavy_minus_sign: | The amount paid per payment unit. | 72000 | +| `PaymentUnit` | [PaymentUnit](../../Models/Components/PaymentUnit.md) | :heavy_minus_sign: | Unit of measurement for employee compensation. | year | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `FlsaStatus` | [FlsaStatus](../../Models/Components/FlsaStatus.md) | :heavy_minus_sign: | The FLSA status for this compensation. | | +| `EffectiveDate` | *string* | :heavy_minus_sign: | The date on which a change to an employee's compensation takes effect. | 2020-08-12 | +| `PaymentFrequency` | [PaymentFrequency](../../Models/Components/PaymentFrequency.md) | :heavy_minus_sign: | Frequency of employee compensation. | monthly | \ No newline at end of file diff --git a/docs/Models/Components/EmployeeCompensationInput.md b/docs/Models/Components/EmployeeCompensationInput.md new file mode 100644 index 00000000..3dc458ba --- /dev/null +++ b/docs/Models/Components/EmployeeCompensationInput.md @@ -0,0 +1,13 @@ +# EmployeeCompensationInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `Rate` | *double* | :heavy_minus_sign: | The amount paid per payment unit. | 72000 | +| `PaymentUnit` | [PaymentUnit](../../Models/Components/PaymentUnit.md) | :heavy_minus_sign: | Unit of measurement for employee compensation. | year | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `FlsaStatus` | [FlsaStatus](../../Models/Components/FlsaStatus.md) | :heavy_minus_sign: | The FLSA status for this compensation. | | +| `EffectiveDate` | *string* | :heavy_minus_sign: | The date on which a change to an employee's compensation takes effect. | 2020-08-12 | +| `PaymentFrequency` | [PaymentFrequency](../../Models/Components/PaymentFrequency.md) | :heavy_minus_sign: | Frequency of employee compensation. | monthly | \ No newline at end of file diff --git a/docs/Models/Components/EmployeeInput.md b/docs/Models/Components/EmployeeInput.md new file mode 100644 index 00000000..5d8a5a15 --- /dev/null +++ b/docs/Models/Components/EmployeeInput.md @@ -0,0 +1,68 @@ +# EmployeeInput + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the person. | Elon | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the person. | Musk | +| `MiddleName` | *string* | :heavy_minus_sign: | Middle name of the person. | D. | +| `DisplayName` | *string* | :heavy_minus_sign: | The name used to display the employee, often a combination of their first and last names. | Technoking | +| `PreferredName` | *string* | :heavy_minus_sign: | The name the employee prefers to be addressed by, which may be different from their legal name. | Elon Musk | +| `Initials` | *string* | :heavy_minus_sign: | The initials of the person, usually derived from their first, middle, and last names. | EM | +| `Salutation` | *string* | :heavy_minus_sign: | A formal salutation for the person. For example, 'Mr', 'Mrs' | Mr | +| `Title` | *string* | :heavy_minus_sign: | The job title of the person. | CEO | +| `MaritalStatus` | *string* | :heavy_minus_sign: | The marital status of the employee. | married | +| `Partner` | [PersonInput](../../Models/Components/PersonInput.md) | :heavy_minus_sign: | N/A | | +| `Division` | *string* | :heavy_minus_sign: | The division the person is currently in. Usually a collection of departments or teams or regions. | Europe | +| `DivisionId` | *string* | :heavy_minus_sign: | Unique identifier of the division this employee belongs to. | 12345 | +| ~~`Department`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

The department the person is currently in. [Deprecated](https://developers.apideck.com/changelog) in favor of the dedicated department_id and department_name field. | R&D | +| `DepartmentId` | *string* | :heavy_minus_sign: | Unique identifier of the department ID this employee belongs to. | 12345 | +| `DepartmentName` | *string* | :heavy_minus_sign: | Name of the department this employee belongs to. | 12345 | +| `Team` | [Team](../../Models/Components/Team.md) | :heavy_minus_sign: | The team the person is currently in. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The unique identifier of the company. | 23456 | +| `CompanyName` | *string* | :heavy_minus_sign: | The name of the company. | SpaceX | +| `EmploymentStartDate` | *string* | :heavy_minus_sign: | A Start Date is the date that the employee started working at the company | 2021-10-26 | +| `EmploymentEndDate` | *string* | :heavy_minus_sign: | An End Date is the date that the employee ended working at the company | 2028-10-26 | +| `LeavingReason` | [LeavingReason](../../Models/Components/LeavingReason.md) | :heavy_minus_sign: | The reason because the employment ended. | resigned | +| `EmployeeNumber` | *string* | :heavy_minus_sign: | An Employee Number, Employee ID or Employee Code, is a unique number that has been assigned to each individual staff member within a company. | 123456-AB | +| `EmploymentStatus` | [EmploymentStatus](../../Models/Components/EmploymentStatus.md) | :heavy_minus_sign: | The employment status of the employee, indicating whether they are currently employed, inactive, terminated, or in another status. | active | +| `EmploymentRole` | [EmploymentRole](../../Models/Components/EmploymentRole.md) | :heavy_minus_sign: | N/A | | +| `Ethnicity` | *string* | :heavy_minus_sign: | The ethnicity of the employee | African American | +| `Manager` | [Manager](../../Models/Components/Manager.md) | :heavy_minus_sign: | N/A | | +| `DirectReports` | List<*string*> | :heavy_minus_sign: | Direct reports is an array of ids that reflect the individuals in an organizational hierarchy who are directly supervised by this specific employee. | [
"a0d636c6-43b3-4bde-8c70-85b707d992f4",
"a98lfd96-43b3-4bde-8c70-85b707d992e6"
] | +| `SocialSecurityNumber` | *string* | :heavy_minus_sign: | A unique identifier assigned by the government. This field is considered sensitive information and may be subject to special security and privacy restrictions. | 123456789 | +| `Birthday` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date of birth of the person. | 2000-08-12 | +| `DeceasedOn` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date the person deceased. | 2000-08-12 | +| `CountryOfBirth` | *string* | :heavy_minus_sign: | Country code according to ISO 3166-1 alpha-2. | US | +| `Description` | *string* | :heavy_minus_sign: | A description of the object. | A description | +| `Gender` | [Gender](../../Models/Components/Gender.md) | :heavy_minus_sign: | The gender represents the gender identity of a person. | male | +| `Pronouns` | *string* | :heavy_minus_sign: | The preferred pronouns of the person. | she,her | +| `PreferredLanguage` | *string* | :heavy_minus_sign: | language code according to ISO 639-1. For the United States - EN | EN | +| `Languages` | List<*string*> | :heavy_minus_sign: | N/A | | +| `Nationalities` | List<*string*> | :heavy_minus_sign: | N/A | | +| `PhotoUrl` | *string* | :heavy_minus_sign: | The URL of the photo of a person. | https://unavatar.io/elon-musk | +| `Timezone` | *string* | :heavy_minus_sign: | The time zone related to the resource. The value is a string containing a standard time zone identifier, e.g. Europe/London. | Europe/London | +| `Source` | *string* | :heavy_minus_sign: | When the employee is imported as a new hire, this field indicates what system (e.g. the name of the ATS) this employee was imported from. | lever | +| `SourceId` | *string* | :heavy_minus_sign: | Unique identifier of the employee in the system this employee was imported from (e.g. the ID in the ATS). | 12345 | +| `RecordUrl` | *string* | :heavy_minus_sign: | N/A | https://app.intercom.io/contacts/12345 | +| `Jobs` | List<[EmployeeJobInput](../../Models/Components/EmployeeJobInput.md)> | :heavy_minus_sign: | N/A | | +| `Compensations` | List<[EmployeeCompensationInput](../../Models/Components/EmployeeCompensationInput.md)> | :heavy_minus_sign: | N/A | | +| `WorksRemote` | *bool* | :heavy_minus_sign: | Indicates if the employee works from a remote location. | true | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `SocialLinks` | List<[SocialLink](../../Models/Components/SocialLink.md)> | :heavy_minus_sign: | N/A | | +| `BankAccounts` | List<[BankAccount](../../Models/Components/BankAccount.md)> | :heavy_minus_sign: | N/A | | +| `TaxCode` | *string* | :heavy_minus_sign: | N/A | 1111 | +| `TaxId` | *string* | :heavy_minus_sign: | N/A | 234-32-0000 | +| `DietaryPreference` | *string* | :heavy_minus_sign: | Indicate the employee's dietary preference. | Veggie | +| `FoodAllergies` | List<*string*> | :heavy_minus_sign: | Indicate the employee's food allergies. | [
"No allergies"
] | +| `ProbationPeriod` | [ProbationPeriod](../../Models/Components/ProbationPeriod.md) | :heavy_minus_sign: | N/A | | +| `Tags` | List<*string*> | :heavy_minus_sign: | N/A | [
"New"
] | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `Deleted` | *bool* | :heavy_minus_sign: | Flag to indicate if the object is deleted. | true | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/EmployeeJob.md b/docs/Models/Components/EmployeeJob.md new file mode 100644 index 00000000..c55c2cd3 --- /dev/null +++ b/docs/Models/Components/EmployeeJob.md @@ -0,0 +1,21 @@ +# EmployeeJob + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `EmployeeId` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Title` | *string* | :heavy_minus_sign: | The job title of the person. | CEO | +| `Role` | *string* | :heavy_minus_sign: | The position and responsibilities of the person within the organization. | Sales | +| `StartDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date on which the employee starts working in their current job role. | 2020-08-12 | +| `EndDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date on which the employee leaves or is expected to leave their current job role. | 2020-08-12 | +| `CompensationRate` | *double* | :heavy_minus_sign: | The rate of pay for the employee in their current job role. | 72000 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `PaymentUnit` | [PaymentUnit](../../Models/Components/PaymentUnit.md) | :heavy_minus_sign: | Unit of measurement for employee compensation. | year | +| `HiredAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date on which the employee was hired by the organization | 2020-08-12 | +| `IsPrimary` | *bool* | :heavy_minus_sign: | Indicates whether this the employee's primary job. | true | +| `IsManager` | *bool* | :heavy_minus_sign: | Indicates whether this the employee has a manager role. | true | +| `Status` | [EmployeeJobStatus](../../Models/Components/EmployeeJobStatus.md) | :heavy_minus_sign: | Indicates the status of the job. | active | +| `Location` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/EmployeeJobInput.md b/docs/Models/Components/EmployeeJobInput.md new file mode 100644 index 00000000..37e1f794 --- /dev/null +++ b/docs/Models/Components/EmployeeJobInput.md @@ -0,0 +1,19 @@ +# EmployeeJobInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `Title` | *string* | :heavy_minus_sign: | The job title of the person. | CEO | +| `Role` | *string* | :heavy_minus_sign: | The position and responsibilities of the person within the organization. | Sales | +| `StartDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date on which the employee starts working in their current job role. | 2020-08-12 | +| `EndDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date on which the employee leaves or is expected to leave their current job role. | 2020-08-12 | +| `CompensationRate` | *double* | :heavy_minus_sign: | The rate of pay for the employee in their current job role. | 72000 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `PaymentUnit` | [PaymentUnit](../../Models/Components/PaymentUnit.md) | :heavy_minus_sign: | Unit of measurement for employee compensation. | year | +| `HiredAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date on which the employee was hired by the organization | 2020-08-12 | +| `IsPrimary` | *bool* | :heavy_minus_sign: | Indicates whether this the employee's primary job. | true | +| `IsManager` | *bool* | :heavy_minus_sign: | Indicates whether this the employee has a manager role. | true | +| `Status` | [EmployeeJobStatus](../../Models/Components/EmployeeJobStatus.md) | :heavy_minus_sign: | Indicates the status of the job. | active | +| `Location` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/EmployeeJobStatus.md b/docs/Models/Components/EmployeeJobStatus.md new file mode 100644 index 00000000..db7cf42d --- /dev/null +++ b/docs/Models/Components/EmployeeJobStatus.md @@ -0,0 +1,12 @@ +# EmployeeJobStatus + +Indicates the status of the job. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Active` | active | +| `Inactive` | inactive | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/EmployeePayroll.md b/docs/Models/Components/EmployeePayroll.md new file mode 100644 index 00000000..e3ce3929 --- /dev/null +++ b/docs/Models/Components/EmployeePayroll.md @@ -0,0 +1,17 @@ +# EmployeePayroll + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `EmployeeId` | *string* | :heavy_minus_sign: | ID of the employee | 12345 | +| `CompanyId` | *string* | :heavy_minus_sign: | The unique identifier of the company. | 23456 | +| `Processed` | *bool* | :heavy_check_mark: | Whether or not the payroll has been successfully processed. Note that processed payrolls cannot be updated. | false | +| `ProcessedDate` | *string* | :heavy_minus_sign: | The date the payroll was processed. | 2022-04-08 | +| `CheckDate` | *string* | :heavy_check_mark: | The date on which employees will be paid for the payroll. | 2022-04-08 | +| `StartDate` | *string* | :heavy_check_mark: | The start date, inclusive, of the pay period. | 2022-04-08 | +| `EndDate` | *string* | :heavy_check_mark: | The end date, inclusive, of the pay period. | 2022-04-21 | +| `Totals` | [PayrollTotals](../../Models/Components/PayrollTotals.md) | :heavy_minus_sign: | The overview of the payroll totals. | | +| `Compensations` | List<[Compensation](../../Models/Components/Compensation.md)> | :heavy_minus_sign: | An array of compensations for the payroll. | | \ No newline at end of file diff --git a/docs/Models/Components/EmployeeSchedules.md b/docs/Models/Components/EmployeeSchedules.md new file mode 100644 index 00000000..543e1756 --- /dev/null +++ b/docs/Models/Components/EmployeeSchedules.md @@ -0,0 +1,9 @@ +# EmployeeSchedules + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `Employee` | [Employee](../../Models/Components/Employee.md) | :heavy_minus_sign: | N/A | +| `Schedules` | List<[Schedule](../../Models/Components/Schedule.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/EmployeesFilter.md b/docs/Models/Components/EmployeesFilter.md new file mode 100644 index 00000000..4e19dfc1 --- /dev/null +++ b/docs/Models/Components/EmployeesFilter.md @@ -0,0 +1,16 @@ +# EmployeesFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `CompanyId` | *string* | :heavy_minus_sign: | Company ID to filter on | 1234 | +| `Email` | *string* | :heavy_minus_sign: | Email to filter on | elon@tesla.com | +| `FirstName` | *string* | :heavy_minus_sign: | First Name to filter on | Elon | +| `Title` | *string* | :heavy_minus_sign: | Job title to filter on | Manager | +| `LastName` | *string* | :heavy_minus_sign: | Last Name to filter on | Musk | +| `ManagerId` | *string* | :heavy_minus_sign: | Manager id to filter on | 1234 | +| `EmploymentStatus` | [EmployeesFilterEmploymentStatus](../../Models/Components/EmployeesFilterEmploymentStatus.md) | :heavy_minus_sign: | Employment status to filter on | active | +| `EmployeeNumber` | *string* | :heavy_minus_sign: | Employee number to filter on | 123456-AB | +| `DepartmentId` | *string* | :heavy_minus_sign: | ID of the department to filter on | 1234 | \ No newline at end of file diff --git a/docs/Models/Components/EmployeesFilterEmploymentStatus.md b/docs/Models/Components/EmployeesFilterEmploymentStatus.md new file mode 100644 index 00000000..374886de --- /dev/null +++ b/docs/Models/Components/EmployeesFilterEmploymentStatus.md @@ -0,0 +1,13 @@ +# EmployeesFilterEmploymentStatus + +Employment status to filter on + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Active` | active | +| `Inactive` | inactive | +| `Terminated` | terminated | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/EmployeesOneFilter.md b/docs/Models/Components/EmployeesOneFilter.md new file mode 100644 index 00000000..cf628543 --- /dev/null +++ b/docs/Models/Components/EmployeesOneFilter.md @@ -0,0 +1,8 @@ +# EmployeesOneFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `CompanyId` | *string* | :heavy_minus_sign: | Company ID to filter on | 1234 | \ No newline at end of file diff --git a/docs/Models/Components/EmployeesSort.md b/docs/Models/Components/EmployeesSort.md new file mode 100644 index 00000000..06d7efb2 --- /dev/null +++ b/docs/Models/Components/EmployeesSort.md @@ -0,0 +1,9 @@ +# EmployeesSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `By` | [EmployeesSortBy](../../Models/Components/EmployeesSortBy.md) | :heavy_minus_sign: | The field on which to sort the Employees | created_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/EmployeesSortBy.md b/docs/Models/Components/EmployeesSortBy.md new file mode 100644 index 00000000..4f15305b --- /dev/null +++ b/docs/Models/Components/EmployeesSortBy.md @@ -0,0 +1,13 @@ +# EmployeesSortBy + +The field on which to sort the Employees + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `FirstName` | first_name | +| `LastName` | last_name | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | \ No newline at end of file diff --git a/docs/Models/Components/EmploymentRole.md b/docs/Models/Components/EmploymentRole.md new file mode 100644 index 00000000..3ea50182 --- /dev/null +++ b/docs/Models/Components/EmploymentRole.md @@ -0,0 +1,9 @@ +# EmploymentRole + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `Type` | [EmploymentType](../../Models/Components/EmploymentType.md) | :heavy_minus_sign: | The type of employment relationship the employee has with the organization. | +| `SubType` | [EmploymentSubType](../../Models/Components/EmploymentSubType.md) | :heavy_minus_sign: | The work schedule of the employee. | \ No newline at end of file diff --git a/docs/Models/Components/EmploymentStatus.md b/docs/Models/Components/EmploymentStatus.md new file mode 100644 index 00000000..3052651d --- /dev/null +++ b/docs/Models/Components/EmploymentStatus.md @@ -0,0 +1,13 @@ +# EmploymentStatus + +The employment status of the employee, indicating whether they are currently employed, inactive, terminated, or in another status. + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Active` | active | +| `Inactive` | inactive | +| `Terminated` | terminated | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/EmploymentSubType.md b/docs/Models/Components/EmploymentSubType.md new file mode 100644 index 00000000..ab053a41 --- /dev/null +++ b/docs/Models/Components/EmploymentSubType.md @@ -0,0 +1,14 @@ +# EmploymentSubType + +The work schedule of the employee. + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `FullTime` | full_time | +| `PartTime` | part_time | +| `Hourly` | hourly | +| `Other` | other | +| `NotSpecified` | not_specified | \ No newline at end of file diff --git a/docs/Models/Components/EmploymentTerms.md b/docs/Models/Components/EmploymentTerms.md new file mode 100644 index 00000000..0c84483e --- /dev/null +++ b/docs/Models/Components/EmploymentTerms.md @@ -0,0 +1,17 @@ +# EmploymentTerms + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `FullTime` | full-time | +| `PartTime` | part-time | +| `Internship` | internship | +| `Contractor` | contractor | +| `Employee` | employee | +| `Freelance` | freelance | +| `Temp` | temp | +| `Seasonal` | seasonal | +| `Volunteer` | volunteer | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/EmploymentType.md b/docs/Models/Components/EmploymentType.md new file mode 100644 index 00000000..64cae134 --- /dev/null +++ b/docs/Models/Components/EmploymentType.md @@ -0,0 +1,15 @@ +# EmploymentType + +The type of employment relationship the employee has with the organization. + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Contractor` | contractor | +| `Employee` | employee | +| `Freelance` | freelance | +| `Temp` | temp | +| `Internship` | internship | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/Error.md b/docs/Models/Components/Error.md new file mode 100644 index 00000000..b5589b7b --- /dev/null +++ b/docs/Models/Components/Error.md @@ -0,0 +1,11 @@ +# Error + +The error returned if your message status is failed or undelivered. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `Code` | *string* | :heavy_minus_sign: | The error_code provides more information about the failure. If the message was successful, this value is null | X1 | +| `Message` | *string* | :heavy_minus_sign: | N/A | Something went wrong | \ No newline at end of file diff --git a/docs/Models/Components/EvenWeeks.md b/docs/Models/Components/EvenWeeks.md new file mode 100644 index 00000000..6937e5a3 --- /dev/null +++ b/docs/Models/Components/EvenWeeks.md @@ -0,0 +1,14 @@ +# EvenWeeks + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `HoursMonday` | *double* | :heavy_minus_sign: | N/A | 8 | +| `HoursTuesday` | *double* | :heavy_minus_sign: | N/A | 8 | +| `HoursWednesday` | *double* | :heavy_minus_sign: | N/A | 4 | +| `HoursThursday` | *double* | :heavy_minus_sign: | N/A | 7.5 | +| `HoursFriday` | *double* | :heavy_minus_sign: | N/A | 4 | +| `HoursSaturday` | *double* | :heavy_minus_sign: | N/A | 0 | +| `HoursSunday` | *double* | :heavy_minus_sign: | N/A | 0 | \ No newline at end of file diff --git a/docs/Models/Components/EventSource.md b/docs/Models/Components/EventSource.md new file mode 100644 index 00000000..59b562b4 --- /dev/null +++ b/docs/Models/Components/EventSource.md @@ -0,0 +1,11 @@ +# EventSource + +Unify event source + + +## Values + +| Name | Value | +| --------- | --------- | +| `Native` | native | +| `Virtual` | virtual | \ No newline at end of file diff --git a/docs/Models/Components/Expense.md b/docs/Models/Components/Expense.md new file mode 100644 index 00000000..b8364d6e --- /dev/null +++ b/docs/Models/Components/Expense.md @@ -0,0 +1,29 @@ +# Expense + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Number` | *string* | :heavy_minus_sign: | Number. | OIT00546 | +| `TransactionDate` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_check_mark: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `AccountId` | *string* | :heavy_check_mark: | The unique identifier for the ledger account that this expense should be credited to. | 123456 | +| `CustomerId` | *string* | :heavy_minus_sign: | The ID of the customer this entity is linked to. Used for expenses that should be marked as billable to customers. | 12345 | +| `SupplierId` | *string* | :heavy_minus_sign: | The ID of the supplier this entity is linked to. | 12345 | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `DepartmentId` | *string* | :heavy_minus_sign: | The ID of the department this expense is linked to. | 12345 | +| `PaymentType` | [ExpensePaymentType](../../Models/Components/ExpensePaymentType.md) | :heavy_minus_sign: | The type of payment for the expense. | cash | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `Type` | [ExpenseType](../../Models/Components/ExpenseType.md) | :heavy_minus_sign: | The type of expense. | expense | +| `Memo` | *string* | :heavy_minus_sign: | The memo of the expense. | For travel expenses incurred on 2024-05-15 | +| `TaxRate` | [LinkedTaxRate](../../Models/Components/LinkedTaxRate.md) | :heavy_minus_sign: | N/A | | +| `TotalAmount` | *double* | :heavy_minus_sign: | The total amount of the expense line item. | 275 | +| `LineItems` | List<[ExpenseLineItem](../../Models/Components/ExpenseLineItem.md)> | :heavy_check_mark: | Expense line items linked to this expense. | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/ExpenseInput.md b/docs/Models/Components/ExpenseInput.md new file mode 100644 index 00000000..a3ef281a --- /dev/null +++ b/docs/Models/Components/ExpenseInput.md @@ -0,0 +1,25 @@ +# ExpenseInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Number` | *string* | :heavy_minus_sign: | Number. | OIT00546 | +| `TransactionDate` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_check_mark: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `AccountId` | *string* | :heavy_check_mark: | The unique identifier for the ledger account that this expense should be credited to. | 123456 | +| `CustomerId` | *string* | :heavy_minus_sign: | The ID of the customer this entity is linked to. Used for expenses that should be marked as billable to customers. | 12345 | +| `SupplierId` | *string* | :heavy_minus_sign: | The ID of the supplier this entity is linked to. | 12345 | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `DepartmentId` | *string* | :heavy_minus_sign: | The ID of the department this expense is linked to. | 12345 | +| `PaymentType` | [ExpensePaymentType](../../Models/Components/ExpensePaymentType.md) | :heavy_minus_sign: | The type of payment for the expense. | cash | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `Type` | [ExpenseType](../../Models/Components/ExpenseType.md) | :heavy_minus_sign: | The type of expense. | expense | +| `Memo` | *string* | :heavy_minus_sign: | The memo of the expense. | For travel expenses incurred on 2024-05-15 | +| `TaxRate` | [LinkedTaxRateInput](../../Models/Components/LinkedTaxRateInput.md) | :heavy_minus_sign: | N/A | | +| `TotalAmount` | *double* | :heavy_minus_sign: | The total amount of the expense line item. | 275 | +| `LineItems` | List<[ExpenseLineItemInput](../../Models/Components/ExpenseLineItemInput.md)> | :heavy_check_mark: | Expense line items linked to this expense. | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/ExpenseLineItem.md b/docs/Models/Components/ExpenseLineItem.md new file mode 100644 index 00000000..a25cfffb --- /dev/null +++ b/docs/Models/Components/ExpenseLineItem.md @@ -0,0 +1,17 @@ +# ExpenseLineItem + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `AccountId` | *string* | :heavy_minus_sign: | The unique identifier for the ledger account. | 123456 | +| `CustomerId` | *string* | :heavy_minus_sign: | The ID of the customer this expense item is linked to. | 12345 | +| `DepartmentId` | *string* | :heavy_minus_sign: | The ID of the department this expense item is linked to. | 12345 | +| `LocationId` | *string* | :heavy_minus_sign: | The ID of the location this expense item is linked to. | 12345 | +| `TaxRate` | [LinkedTaxRate](../../Models/Components/LinkedTaxRate.md) | :heavy_minus_sign: | N/A | | +| `Description` | *string* | :heavy_minus_sign: | The expense line item description | Travel US. | +| `TotalAmount` | *double* | :heavy_check_mark: | The total amount of the expense line item. | 275 | +| `Billable` | *bool* | :heavy_minus_sign: | Boolean that indicates if the line item is billable or not. | true | \ No newline at end of file diff --git a/docs/Models/Components/ExpenseLineItemInput.md b/docs/Models/Components/ExpenseLineItemInput.md new file mode 100644 index 00000000..a5dc2693 --- /dev/null +++ b/docs/Models/Components/ExpenseLineItemInput.md @@ -0,0 +1,16 @@ +# ExpenseLineItemInput + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `AccountId` | *string* | :heavy_minus_sign: | The unique identifier for the ledger account. | 123456 | +| `CustomerId` | *string* | :heavy_minus_sign: | The ID of the customer this expense item is linked to. | 12345 | +| `DepartmentId` | *string* | :heavy_minus_sign: | The ID of the department this expense item is linked to. | 12345 | +| `LocationId` | *string* | :heavy_minus_sign: | The ID of the location this expense item is linked to. | 12345 | +| `TaxRate` | [LinkedTaxRateInput](../../Models/Components/LinkedTaxRateInput.md) | :heavy_minus_sign: | N/A | | +| `Description` | *string* | :heavy_minus_sign: | The expense line item description | Travel US. | +| `TotalAmount` | *double* | :heavy_check_mark: | The total amount of the expense line item. | 275 | +| `Billable` | *bool* | :heavy_minus_sign: | Boolean that indicates if the line item is billable or not. | true | \ No newline at end of file diff --git a/docs/Models/Components/ExpensePaymentType.md b/docs/Models/Components/ExpensePaymentType.md new file mode 100644 index 00000000..b98df839 --- /dev/null +++ b/docs/Models/Components/ExpensePaymentType.md @@ -0,0 +1,12 @@ +# ExpensePaymentType + +The type of payment for the expense. + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Cash` | cash | +| `Check` | check | +| `CreditCard` | credit_card | \ No newline at end of file diff --git a/docs/Models/Components/ExpenseType.md b/docs/Models/Components/ExpenseType.md new file mode 100644 index 00000000..e9d3a69c --- /dev/null +++ b/docs/Models/Components/ExpenseType.md @@ -0,0 +1,11 @@ +# ExpenseType + +The type of expense. + + +## Values + +| Name | Value | +| --------- | --------- | +| `Expense` | expense | +| `Refund` | refund | \ No newline at end of file diff --git a/docs/Models/Components/Expenses.md b/docs/Models/Components/Expenses.md new file mode 100644 index 00000000..643225ef --- /dev/null +++ b/docs/Models/Components/Expenses.md @@ -0,0 +1,9 @@ +# Expenses + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Total` | *double* | :heavy_check_mark: | Total expense | 100000 | +| `Records` | *object* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/ExtendPaths.md b/docs/Models/Components/ExtendPaths.md new file mode 100644 index 00000000..6805e7fa --- /dev/null +++ b/docs/Models/Components/ExtendPaths.md @@ -0,0 +1,9 @@ +# ExtendPaths + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `Path` | *string* | :heavy_check_mark: | JSONPath string specifying where to apply the value. | $.nested.property | +| `Value` | *object* | :heavy_check_mark: | The value to set at the specified path, can be any type. | {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000"
}
} | \ No newline at end of file diff --git a/docs/Models/Components/FileType.md b/docs/Models/Components/FileType.md new file mode 100644 index 00000000..ff2942d5 --- /dev/null +++ b/docs/Models/Components/FileType.md @@ -0,0 +1,12 @@ +# FileType + +The type of resource. Could be file, folder or url + + +## Values + +| Name | Value | +| -------- | -------- | +| `File` | file | +| `Folder` | folder | +| `Url` | url | \ No newline at end of file diff --git a/docs/Models/Components/FilesFilter.md b/docs/Models/Components/FilesFilter.md new file mode 100644 index 00000000..e54716a4 --- /dev/null +++ b/docs/Models/Components/FilesFilter.md @@ -0,0 +1,10 @@ +# FilesFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `DriveId` | *string* | :heavy_minus_sign: | ID of the drive to filter on | 1234 | +| `FolderId` | *string* | :heavy_minus_sign: | ID of the folder to filter on. The root folder has an alias "root" | root | +| `Shared` | *bool* | :heavy_minus_sign: | Only return files and folders that are shared | true | \ No newline at end of file diff --git a/docs/Models/Components/FilesSearch.md b/docs/Models/Components/FilesSearch.md new file mode 100644 index 00000000..b966ec52 --- /dev/null +++ b/docs/Models/Components/FilesSearch.md @@ -0,0 +1,10 @@ +# FilesSearch + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Query` | *string* | :heavy_check_mark: | The query to search for. May match across multiple fields. | logo jpg | +| `DriveId` | *string* | :heavy_minus_sign: | ID of the drive to filter on | 1234 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/FilesSort.md b/docs/Models/Components/FilesSort.md new file mode 100644 index 00000000..2dee4b0f --- /dev/null +++ b/docs/Models/Components/FilesSort.md @@ -0,0 +1,9 @@ +# FilesSort + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `By` | [FilesSortBy](../../Models/Components/FilesSortBy.md) | :heavy_minus_sign: | The field on which to sort the Files | updated_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/FilesSortBy.md b/docs/Models/Components/FilesSortBy.md new file mode 100644 index 00000000..012bce7b --- /dev/null +++ b/docs/Models/Components/FilesSortBy.md @@ -0,0 +1,11 @@ +# FilesSortBy + +The field on which to sort the Files + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `UpdatedAt` | updated_at | +| `Name` | name | \ No newline at end of file diff --git a/docs/Models/Components/Five.md b/docs/Models/Components/Five.md new file mode 100644 index 00000000..dc81da29 --- /dev/null +++ b/docs/Models/Components/Five.md @@ -0,0 +1,22 @@ +# Five + + +## Supported Types + +### Str + +```csharp +Five.CreateStr(/* values here */); +``` + +### Integer + +```csharp +Five.CreateInteger(/* values here */); +``` + +### Number + +```csharp +Five.CreateNumber(/* values here */); +``` diff --git a/docs/Models/Components/FlsaStatus.md b/docs/Models/Components/FlsaStatus.md new file mode 100644 index 00000000..f82854d0 --- /dev/null +++ b/docs/Models/Components/FlsaStatus.md @@ -0,0 +1,14 @@ +# FlsaStatus + +The FLSA status for this compensation. + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `Exempt` | exempt | +| `SalariedNonexempt` | salaried-nonexempt | +| `Nonexempt` | nonexempt | +| `Owner` | owner | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/Folder.md b/docs/Models/Components/Folder.md new file mode 100644 index 00000000..467bb125 --- /dev/null +++ b/docs/Models/Components/Folder.md @@ -0,0 +1,20 @@ +# Folder + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_check_mark: | The name of the folder | Documents | +| `Description` | *string* | :heavy_minus_sign: | Optional description of the folder | My Personal Documents | +| `Path` | *string* | :heavy_minus_sign: | The full path of the folder (includes the folder name) | /Personal/Documents | +| `Size` | *long* | :heavy_minus_sign: | The size of the folder in bytes | 1810673 | +| `Owner` | [Owner](../../Models/Components/Owner.md) | :heavy_minus_sign: | N/A | | +| `ParentFolders` | List<[LinkedFolder](../../Models/Components/LinkedFolder.md)> | :heavy_check_mark: | The parent folders of the file, starting from the root | | +| `ParentFoldersComplete` | *bool* | :heavy_minus_sign: | Whether the list of parent folder is complete. Some connectors only return the direct parent of a folder | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/FormField.md b/docs/Models/Components/FormField.md new file mode 100644 index 00000000..543067c3 --- /dev/null +++ b/docs/Models/Components/FormField.md @@ -0,0 +1,22 @@ +# FormField + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The unique identifier of the form field. | channel | +| `Label` | *string* | :heavy_minus_sign: | The label of the field | Channel | +| `Placeholder` | *string* | :heavy_minus_sign: | The placeholder for the form field | Select a channel | +| `Description` | *string* | :heavy_minus_sign: | The description of the form field | Slack channel to push notification to | +| `Type` | [FormFieldType](../../Models/Components/FormFieldType.md) | :heavy_minus_sign: | N/A | select | +| `Required` | *bool* | :heavy_minus_sign: | Indicates if the form field is required, which means it must be filled in before the form can be submitted | true | +| `CustomField` | *bool* | :heavy_minus_sign: | N/A | false | +| `AllowCustomValues` | *bool* | :heavy_minus_sign: | Only applicable to select fields. Allow the user to add a custom value though the option select if the desired value is not in the option select list. | false | +| `Disabled` | *bool* | :heavy_minus_sign: | Indicates if the form field is displayed in a “read-only” mode. | false | +| `Hidden` | *bool* | :heavy_minus_sign: | Indicates if the form field is not displayed but the value that is being stored on the connection. | false | +| `Deprecated` | *bool* | :heavy_minus_sign: | When the setting is deprecated, it should be hidden from the user interface. The value will still be stored on the connection for the sake of backwards compatibility. | false | +| `Sensitive` | *bool* | :heavy_minus_sign: | Indicates if the form field contains sensitive data, which will display the value as a masked input. | false | +| `Prefix` | *string* | :heavy_minus_sign: | Prefix to display in front of the form field. | https:// | +| `Suffix` | *string* | :heavy_minus_sign: | Suffix to display next to the form field. | .shopify.com | +| `Options` | List<[FormFieldOption](../../Models/Components/FormFieldOption.md)> | :heavy_minus_sign: | N/A | [
{
"label": "General Channel",
"value": "general"
}
] | \ No newline at end of file diff --git a/docs/Models/Components/FormFieldOption.md b/docs/Models/Components/FormFieldOption.md new file mode 100644 index 00000000..db4d5bb2 --- /dev/null +++ b/docs/Models/Components/FormFieldOption.md @@ -0,0 +1,16 @@ +# FormFieldOption + + +## Supported Types + +### SimpleFormFieldOption + +```csharp +FormFieldOption.CreateSimpleFormFieldOption(/* values here */); +``` + +### FormFieldOptionGroup + +```csharp +FormFieldOption.CreateFormFieldOptionGroup(/* values here */); +``` diff --git a/docs/Models/Components/FormFieldOptionGroup.md b/docs/Models/Components/FormFieldOptionGroup.md new file mode 100644 index 00000000..fa953796 --- /dev/null +++ b/docs/Models/Components/FormFieldOptionGroup.md @@ -0,0 +1,10 @@ +# FormFieldOptionGroup + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | N/A | 1234 | +| `Label` | *string* | :heavy_minus_sign: | N/A | General Channel | +| `Options` | List<[SimpleFormFieldOption](../../Models/Components/SimpleFormFieldOption.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/FormFieldType.md b/docs/Models/Components/FormFieldType.md new file mode 100644 index 00000000..357ef10e --- /dev/null +++ b/docs/Models/Components/FormFieldType.md @@ -0,0 +1,20 @@ +# FormFieldType + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `Text` | text | +| `Checkbox` | checkbox | +| `Tel` | tel | +| `Email` | email | +| `Url` | url | +| `Textarea` | textarea | +| `Select` | select | +| `FilteredSelect` | filtered-select | +| `MultiSelect` | multi-select | +| `Datetime` | datetime | +| `Date` | date | +| `Time` | time | +| `Number` | number | \ No newline at end of file diff --git a/docs/Models/Components/Format.md b/docs/Models/Components/Format.md new file mode 100644 index 00000000..3e84e627 --- /dev/null +++ b/docs/Models/Components/Format.md @@ -0,0 +1,10 @@ +# Format + +Format of the doc. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Markdown` | markdown | \ No newline at end of file diff --git a/docs/Models/Components/Four.md b/docs/Models/Components/Four.md new file mode 100644 index 00000000..52fab1ff --- /dev/null +++ b/docs/Models/Components/Four.md @@ -0,0 +1,7 @@ +# Four + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/Models/Components/FulfillmentStatus.md b/docs/Models/Components/FulfillmentStatus.md new file mode 100644 index 00000000..b47110f0 --- /dev/null +++ b/docs/Models/Components/FulfillmentStatus.md @@ -0,0 +1,16 @@ +# FulfillmentStatus + +Current fulfillment status of the order. + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Pending` | pending | +| `Shipped` | shipped | +| `Partial` | partial | +| `Delivered` | delivered | +| `Cancelled` | cancelled | +| `Returned` | returned | +| `Unknown` | unknown | \ No newline at end of file diff --git a/docs/Models/Components/Gender.md b/docs/Models/Components/Gender.md new file mode 100644 index 00000000..766823f8 --- /dev/null +++ b/docs/Models/Components/Gender.md @@ -0,0 +1,14 @@ +# Gender + +The gender represents the gender identity of a person. + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `Male` | male | +| `Female` | female | +| `Unisex` | unisex | +| `Other` | other | +| `NotSpecified` | not_specified | \ No newline at end of file diff --git a/docs/Models/Components/GetAccountingDepartmentResponse.md b/docs/Models/Components/GetAccountingDepartmentResponse.md new file mode 100644 index 00000000..eaa1da27 --- /dev/null +++ b/docs/Models/Components/GetAccountingDepartmentResponse.md @@ -0,0 +1,15 @@ +# GetAccountingDepartmentResponse + +Location + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | subsidiaries | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [AccountingDepartment](../../Models/Components/AccountingDepartment.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetAccountingDepartmentsResponse.md b/docs/Models/Components/GetAccountingDepartmentsResponse.md new file mode 100644 index 00000000..ec1d75d4 --- /dev/null +++ b/docs/Models/Components/GetAccountingDepartmentsResponse.md @@ -0,0 +1,17 @@ +# GetAccountingDepartmentsResponse + +Departments + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | subsidiaries | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[AccountingDepartment](../../Models/Components/AccountingDepartment.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetAccountingLocationResponse.md b/docs/Models/Components/GetAccountingLocationResponse.md new file mode 100644 index 00000000..378a8b5a --- /dev/null +++ b/docs/Models/Components/GetAccountingLocationResponse.md @@ -0,0 +1,15 @@ +# GetAccountingLocationResponse + +Location + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | subsidiaries | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [AccountingLocation](../../Models/Components/AccountingLocation.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetAccountingLocationsResponse.md b/docs/Models/Components/GetAccountingLocationsResponse.md new file mode 100644 index 00000000..7f64379b --- /dev/null +++ b/docs/Models/Components/GetAccountingLocationsResponse.md @@ -0,0 +1,17 @@ +# GetAccountingLocationsResponse + +Locations + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | subsidiaries | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[AccountingLocation](../../Models/Components/AccountingLocation.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetActivitiesResponse.md b/docs/Models/Components/GetActivitiesResponse.md new file mode 100644 index 00000000..47d3ef7a --- /dev/null +++ b/docs/Models/Components/GetActivitiesResponse.md @@ -0,0 +1,17 @@ +# GetActivitiesResponse + +Activities + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | activities | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Activity](../../Models/Components/Activity.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetActivityResponse.md b/docs/Models/Components/GetActivityResponse.md new file mode 100644 index 00000000..8b836d4f --- /dev/null +++ b/docs/Models/Components/GetActivityResponse.md @@ -0,0 +1,15 @@ +# GetActivityResponse + +Activity + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | activities | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Activity](../../Models/Components/Activity.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetApiResourceCoverageResponse.md b/docs/Models/Components/GetApiResourceCoverageResponse.md new file mode 100644 index 00000000..e3a9c935 --- /dev/null +++ b/docs/Models/Components/GetApiResourceCoverageResponse.md @@ -0,0 +1,14 @@ +# GetApiResourceCoverageResponse + +ApiResources + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [Models.Components.ApiResourceCoverage](../../Models/Components/ApiResourceCoverage.md) | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetApiResourceResponse.md b/docs/Models/Components/GetApiResourceResponse.md new file mode 100644 index 00000000..521ddd44 --- /dev/null +++ b/docs/Models/Components/GetApiResourceResponse.md @@ -0,0 +1,14 @@ +# GetApiResourceResponse + +ApiResources + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [ApiResource](../../Models/Components/ApiResource.md) | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetApiResponse.md b/docs/Models/Components/GetApiResponse.md new file mode 100644 index 00000000..85d7f787 --- /dev/null +++ b/docs/Models/Components/GetApiResponse.md @@ -0,0 +1,14 @@ +# GetApiResponse + +Apis + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [Api](../../Models/Components/Api.md) | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetApisResponse.md b/docs/Models/Components/GetApisResponse.md new file mode 100644 index 00000000..075def7d --- /dev/null +++ b/docs/Models/Components/GetApisResponse.md @@ -0,0 +1,14 @@ +# GetApisResponse + +Apis + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | List<[Api](../../Models/Components/Api.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetApplicantResponse.md b/docs/Models/Components/GetApplicantResponse.md new file mode 100644 index 00000000..c003cf4a --- /dev/null +++ b/docs/Models/Components/GetApplicantResponse.md @@ -0,0 +1,15 @@ +# GetApplicantResponse + +Applicants + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | lever | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Applicants | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Applicant](../../Models/Components/Applicant.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetApplicantsResponse.md b/docs/Models/Components/GetApplicantsResponse.md new file mode 100644 index 00000000..8c4f4e06 --- /dev/null +++ b/docs/Models/Components/GetApplicantsResponse.md @@ -0,0 +1,17 @@ +# GetApplicantsResponse + +Applicants + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | lever | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Applicants | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Applicant](../../Models/Components/Applicant.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetApplicationResponse.md b/docs/Models/Components/GetApplicationResponse.md new file mode 100644 index 00000000..914beabe --- /dev/null +++ b/docs/Models/Components/GetApplicationResponse.md @@ -0,0 +1,15 @@ +# GetApplicationResponse + +Applications + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | sap-successfactors | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Applications | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Application](../../Models/Components/Application.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetApplicationsResponse.md b/docs/Models/Components/GetApplicationsResponse.md new file mode 100644 index 00000000..0e04f533 --- /dev/null +++ b/docs/Models/Components/GetApplicationsResponse.md @@ -0,0 +1,17 @@ +# GetApplicationsResponse + +Applications + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | sap-successfactors | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Applications | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Application](../../Models/Components/Application.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetAttachmentResponse.md b/docs/Models/Components/GetAttachmentResponse.md new file mode 100644 index 00000000..6f8d4836 --- /dev/null +++ b/docs/Models/Components/GetAttachmentResponse.md @@ -0,0 +1,15 @@ +# GetAttachmentResponse + +Attachments + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | payments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Attachment](../../Models/Components/Attachment.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetAttachmentsResponse.md b/docs/Models/Components/GetAttachmentsResponse.md new file mode 100644 index 00000000..e7477c41 --- /dev/null +++ b/docs/Models/Components/GetAttachmentsResponse.md @@ -0,0 +1,17 @@ +# GetAttachmentsResponse + +Attachments + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | PurchaseOrders | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Attachment](../../Models/Components/Attachment.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetBalanceSheetResponse.md b/docs/Models/Components/GetBalanceSheetResponse.md new file mode 100644 index 00000000..24fc3d7c --- /dev/null +++ b/docs/Models/Components/GetBalanceSheetResponse.md @@ -0,0 +1,15 @@ +# GetBalanceSheetResponse + +BalanceSheet + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | BalanceSheets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Models.Components.BalanceSheet](../../Models/Components/BalanceSheet.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetBillPaymentResponse.md b/docs/Models/Components/GetBillPaymentResponse.md new file mode 100644 index 00000000..70c1474b --- /dev/null +++ b/docs/Models/Components/GetBillPaymentResponse.md @@ -0,0 +1,15 @@ +# GetBillPaymentResponse + +Bill Payment + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | payments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [BillPayment](../../Models/Components/BillPayment.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetBillPaymentsResponse.md b/docs/Models/Components/GetBillPaymentsResponse.md new file mode 100644 index 00000000..ac56a2ac --- /dev/null +++ b/docs/Models/Components/GetBillPaymentsResponse.md @@ -0,0 +1,17 @@ +# GetBillPaymentsResponse + +Bill Payments + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | payments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[BillPayment](../../Models/Components/BillPayment.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetBillResponse.md b/docs/Models/Components/GetBillResponse.md new file mode 100644 index 00000000..9fa7a3b1 --- /dev/null +++ b/docs/Models/Components/GetBillResponse.md @@ -0,0 +1,15 @@ +# GetBillResponse + +Bill + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | bills | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Bill](../../Models/Components/Bill.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetBillsResponse.md b/docs/Models/Components/GetBillsResponse.md new file mode 100644 index 00000000..adaf2e36 --- /dev/null +++ b/docs/Models/Components/GetBillsResponse.md @@ -0,0 +1,17 @@ +# GetBillsResponse + +Bills + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | bills | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Bill](../../Models/Components/Bill.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetCollectionResponse.md b/docs/Models/Components/GetCollectionResponse.md new file mode 100644 index 00000000..b181087a --- /dev/null +++ b/docs/Models/Components/GetCollectionResponse.md @@ -0,0 +1,15 @@ +# GetCollectionResponse + +Get a Collection + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | jira | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Tickets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Collection](../../Models/Components/Collection.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetCollectionTagsResponse.md b/docs/Models/Components/GetCollectionTagsResponse.md new file mode 100644 index 00000000..48d5f45a --- /dev/null +++ b/docs/Models/Components/GetCollectionTagsResponse.md @@ -0,0 +1,17 @@ +# GetCollectionTagsResponse + +List Tags + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | jira | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Tickets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[CollectionTag](../../Models/Components/CollectionTag.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetCollectionUserResponse.md b/docs/Models/Components/GetCollectionUserResponse.md new file mode 100644 index 00000000..974f8a02 --- /dev/null +++ b/docs/Models/Components/GetCollectionUserResponse.md @@ -0,0 +1,15 @@ +# GetCollectionUserResponse + +User + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | jira | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Tickets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [CollectionUser](../../Models/Components/CollectionUser.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetCollectionUsersResponse.md b/docs/Models/Components/GetCollectionUsersResponse.md new file mode 100644 index 00000000..fd3078d6 --- /dev/null +++ b/docs/Models/Components/GetCollectionUsersResponse.md @@ -0,0 +1,17 @@ +# GetCollectionUsersResponse + +Users + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | jira | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Tickets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[CollectionUser](../../Models/Components/CollectionUser.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetCollectionsResponse.md b/docs/Models/Components/GetCollectionsResponse.md new file mode 100644 index 00000000..a4be828b --- /dev/null +++ b/docs/Models/Components/GetCollectionsResponse.md @@ -0,0 +1,17 @@ +# GetCollectionsResponse + +List Collections + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | jira | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Tickets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Collection](../../Models/Components/Collection.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetCommentResponse.md b/docs/Models/Components/GetCommentResponse.md new file mode 100644 index 00000000..33675eec --- /dev/null +++ b/docs/Models/Components/GetCommentResponse.md @@ -0,0 +1,15 @@ +# GetCommentResponse + +Get a Comment + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | sage-hr | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Tickets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [CollectionTicketComment](../../Models/Components/CollectionTicketComment.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetCommentsResponse.md b/docs/Models/Components/GetCommentsResponse.md new file mode 100644 index 00000000..59b312ec --- /dev/null +++ b/docs/Models/Components/GetCommentsResponse.md @@ -0,0 +1,17 @@ +# GetCommentsResponse + +List Comments + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | jira | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Tickets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[CollectionTicketComment](../../Models/Components/CollectionTicketComment.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetCompaniesResponse.md b/docs/Models/Components/GetCompaniesResponse.md new file mode 100644 index 00000000..c71e09a5 --- /dev/null +++ b/docs/Models/Components/GetCompaniesResponse.md @@ -0,0 +1,17 @@ +# GetCompaniesResponse + +Companies + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Company](../../Models/Components/Company.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetCompanyInfoResponse.md b/docs/Models/Components/GetCompanyInfoResponse.md new file mode 100644 index 00000000..f1e3d8d5 --- /dev/null +++ b/docs/Models/Components/GetCompanyInfoResponse.md @@ -0,0 +1,15 @@ +# GetCompanyInfoResponse + +CompanyInfo + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | company-info | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Models.Components.CompanyInfo](../../Models/Components/CompanyInfo.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetCompanyResponse.md b/docs/Models/Components/GetCompanyResponse.md new file mode 100644 index 00000000..3b4bb1e4 --- /dev/null +++ b/docs/Models/Components/GetCompanyResponse.md @@ -0,0 +1,15 @@ +# GetCompanyResponse + +Company + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Company](../../Models/Components/Company.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetConnectionResponse.md b/docs/Models/Components/GetConnectionResponse.md new file mode 100644 index 00000000..dd7a32d0 --- /dev/null +++ b/docs/Models/Components/GetConnectionResponse.md @@ -0,0 +1,12 @@ +# GetConnectionResponse + +Connection + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [Connection](../../Models/Components/Connection.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetConnectionsResponse.md b/docs/Models/Components/GetConnectionsResponse.md new file mode 100644 index 00000000..63d6840d --- /dev/null +++ b/docs/Models/Components/GetConnectionsResponse.md @@ -0,0 +1,12 @@ +# GetConnectionsResponse + +Connections + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | List<[Connection](../../Models/Components/Connection.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetConnectorResourceResponse.md b/docs/Models/Components/GetConnectorResourceResponse.md new file mode 100644 index 00000000..96e5a933 --- /dev/null +++ b/docs/Models/Components/GetConnectorResourceResponse.md @@ -0,0 +1,14 @@ +# GetConnectorResourceResponse + +ConnectorResources + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [ConnectorResource](../../Models/Components/ConnectorResource.md) | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetConnectorResponse.md b/docs/Models/Components/GetConnectorResponse.md new file mode 100644 index 00000000..897685ae --- /dev/null +++ b/docs/Models/Components/GetConnectorResponse.md @@ -0,0 +1,14 @@ +# GetConnectorResponse + +Connectors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [Models.Components.Connector](../../Models/Components/Connector.md) | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetConnectorsResponse.md b/docs/Models/Components/GetConnectorsResponse.md new file mode 100644 index 00000000..d0d15a59 --- /dev/null +++ b/docs/Models/Components/GetConnectorsResponse.md @@ -0,0 +1,14 @@ +# GetConnectorsResponse + +Connectors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | List<[Models.Components.Connector](../../Models/Components/Connector.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetConsumerResponse.md b/docs/Models/Components/GetConsumerResponse.md new file mode 100644 index 00000000..6004d461 --- /dev/null +++ b/docs/Models/Components/GetConsumerResponse.md @@ -0,0 +1,12 @@ +# GetConsumerResponse + +Consumer + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [Consumer](../../Models/Components/Consumer.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetConsumersResponse.md b/docs/Models/Components/GetConsumersResponse.md new file mode 100644 index 00000000..a9255ae2 --- /dev/null +++ b/docs/Models/Components/GetConsumersResponse.md @@ -0,0 +1,14 @@ +# GetConsumersResponse + +Consumers + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | List<[Data](../../Models/Components/Data.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetContactResponse.md b/docs/Models/Components/GetContactResponse.md new file mode 100644 index 00000000..ed1f6fce --- /dev/null +++ b/docs/Models/Components/GetContactResponse.md @@ -0,0 +1,15 @@ +# GetContactResponse + +Contact + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Contact](../../Models/Components/Contact.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetContactsResponse.md b/docs/Models/Components/GetContactsResponse.md new file mode 100644 index 00000000..38aec65b --- /dev/null +++ b/docs/Models/Components/GetContactsResponse.md @@ -0,0 +1,17 @@ +# GetContactsResponse + +Contacts + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | contacts | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Contact](../../Models/Components/Contact.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetCreditNoteResponse.md b/docs/Models/Components/GetCreditNoteResponse.md new file mode 100644 index 00000000..ed45cc82 --- /dev/null +++ b/docs/Models/Components/GetCreditNoteResponse.md @@ -0,0 +1,15 @@ +# GetCreditNoteResponse + +Credit Note + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | credit-notes | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [CreditNote](../../Models/Components/CreditNote.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetCreditNotesResponse.md b/docs/Models/Components/GetCreditNotesResponse.md new file mode 100644 index 00000000..57f7aea0 --- /dev/null +++ b/docs/Models/Components/GetCreditNotesResponse.md @@ -0,0 +1,17 @@ +# GetCreditNotesResponse + +Credit Notes + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | credit-notes | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[CreditNote](../../Models/Components/CreditNote.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetCustomFieldsResponse.md b/docs/Models/Components/GetCustomFieldsResponse.md new file mode 100644 index 00000000..3c2b419a --- /dev/null +++ b/docs/Models/Components/GetCustomFieldsResponse.md @@ -0,0 +1,12 @@ +# GetCustomFieldsResponse + +Custom mapping + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | List<[CustomFieldFinder](../../Models/Components/CustomFieldFinder.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetCustomMappingsResponse.md b/docs/Models/Components/GetCustomMappingsResponse.md new file mode 100644 index 00000000..db683ca0 --- /dev/null +++ b/docs/Models/Components/GetCustomMappingsResponse.md @@ -0,0 +1,12 @@ +# GetCustomMappingsResponse + +Custom mapping + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | List<[CustomMapping](../../Models/Components/CustomMapping.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetCustomerResponse.md b/docs/Models/Components/GetCustomerResponse.md new file mode 100644 index 00000000..69a50c47 --- /dev/null +++ b/docs/Models/Components/GetCustomerResponse.md @@ -0,0 +1,15 @@ +# GetCustomerResponse + +Customer + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | customers | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Customer](../../Models/Components/Customer.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetCustomersResponse.md b/docs/Models/Components/GetCustomersResponse.md new file mode 100644 index 00000000..dde19052 --- /dev/null +++ b/docs/Models/Components/GetCustomersResponse.md @@ -0,0 +1,17 @@ +# GetCustomersResponse + +Customers + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | customers | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Customer](../../Models/Components/Customer.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetDepartmentResponse.md b/docs/Models/Components/GetDepartmentResponse.md new file mode 100644 index 00000000..c0097382 --- /dev/null +++ b/docs/Models/Components/GetDepartmentResponse.md @@ -0,0 +1,15 @@ +# GetDepartmentResponse + +Departments + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | workday | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Departments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Department](../../Models/Components/Department.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetDepartmentsResponse.md b/docs/Models/Components/GetDepartmentsResponse.md new file mode 100644 index 00000000..4d5ee4d2 --- /dev/null +++ b/docs/Models/Components/GetDepartmentsResponse.md @@ -0,0 +1,17 @@ +# GetDepartmentsResponse + +Departments + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | workday | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Departments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Department](../../Models/Components/Department.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetDriveGroupResponse.md b/docs/Models/Components/GetDriveGroupResponse.md new file mode 100644 index 00000000..0cf10542 --- /dev/null +++ b/docs/Models/Components/GetDriveGroupResponse.md @@ -0,0 +1,15 @@ +# GetDriveGroupResponse + +DriveGroups + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | google-drive | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | DriveGroups | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [DriveGroup](../../Models/Components/DriveGroup.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetDriveGroupsResponse.md b/docs/Models/Components/GetDriveGroupsResponse.md new file mode 100644 index 00000000..0b49fd52 --- /dev/null +++ b/docs/Models/Components/GetDriveGroupsResponse.md @@ -0,0 +1,17 @@ +# GetDriveGroupsResponse + +DriveGroups + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | google-drive | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | DriveGroups | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[DriveGroup](../../Models/Components/DriveGroup.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetDriveResponse.md b/docs/Models/Components/GetDriveResponse.md new file mode 100644 index 00000000..40a46e62 --- /dev/null +++ b/docs/Models/Components/GetDriveResponse.md @@ -0,0 +1,15 @@ +# GetDriveResponse + +Drives + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | google-drive | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Drives | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Drive](../../Models/Components/Drive.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetDrivesResponse.md b/docs/Models/Components/GetDrivesResponse.md new file mode 100644 index 00000000..e5bc523c --- /dev/null +++ b/docs/Models/Components/GetDrivesResponse.md @@ -0,0 +1,17 @@ +# GetDrivesResponse + +Drives + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | google-drive | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Drives | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Drive](../../Models/Components/Drive.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetEcommerceCustomerResponse.md b/docs/Models/Components/GetEcommerceCustomerResponse.md new file mode 100644 index 00000000..c4e709b1 --- /dev/null +++ b/docs/Models/Components/GetEcommerceCustomerResponse.md @@ -0,0 +1,15 @@ +# GetEcommerceCustomerResponse + +Customers + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | shopify | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | customers | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [EcommerceCustomer](../../Models/Components/EcommerceCustomer.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetEcommerceCustomersResponse.md b/docs/Models/Components/GetEcommerceCustomersResponse.md new file mode 100644 index 00000000..50236542 --- /dev/null +++ b/docs/Models/Components/GetEcommerceCustomersResponse.md @@ -0,0 +1,17 @@ +# GetEcommerceCustomersResponse + +Customers + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | shopify | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | customers | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[EcommerceCustomer](../../Models/Components/EcommerceCustomer.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetEcommerceOrderResponse.md b/docs/Models/Components/GetEcommerceOrderResponse.md new file mode 100644 index 00000000..4c271f13 --- /dev/null +++ b/docs/Models/Components/GetEcommerceOrderResponse.md @@ -0,0 +1,15 @@ +# GetEcommerceOrderResponse + +Orders + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | shopify | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | orders | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [EcommerceOrder](../../Models/Components/EcommerceOrder.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetEcommerceOrdersResponse.md b/docs/Models/Components/GetEcommerceOrdersResponse.md new file mode 100644 index 00000000..49fbc065 --- /dev/null +++ b/docs/Models/Components/GetEcommerceOrdersResponse.md @@ -0,0 +1,17 @@ +# GetEcommerceOrdersResponse + +Orders + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | shopify | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | orders | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[EcommerceOrder](../../Models/Components/EcommerceOrder.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetEmployeePayrollResponse.md b/docs/Models/Components/GetEmployeePayrollResponse.md new file mode 100644 index 00000000..c2de0d78 --- /dev/null +++ b/docs/Models/Components/GetEmployeePayrollResponse.md @@ -0,0 +1,15 @@ +# GetEmployeePayrollResponse + +Payrolls + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | undefined | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [EmployeePayroll](../../Models/Components/EmployeePayroll.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetEmployeePayrollsResponse.md b/docs/Models/Components/GetEmployeePayrollsResponse.md new file mode 100644 index 00000000..9f2c3faa --- /dev/null +++ b/docs/Models/Components/GetEmployeePayrollsResponse.md @@ -0,0 +1,15 @@ +# GetEmployeePayrollsResponse + +EmployeePayrolls + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | sage-hr | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Employees | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[EmployeePayroll](../../Models/Components/EmployeePayroll.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetEmployeeResponse.md b/docs/Models/Components/GetEmployeeResponse.md new file mode 100644 index 00000000..0bfbfe04 --- /dev/null +++ b/docs/Models/Components/GetEmployeeResponse.md @@ -0,0 +1,15 @@ +# GetEmployeeResponse + +Employees + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | sage-hr | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Employees | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Employee](../../Models/Components/Employee.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetEmployeeSchedulesResponse.md b/docs/Models/Components/GetEmployeeSchedulesResponse.md new file mode 100644 index 00000000..23ce85a2 --- /dev/null +++ b/docs/Models/Components/GetEmployeeSchedulesResponse.md @@ -0,0 +1,15 @@ +# GetEmployeeSchedulesResponse + +EmployeeSchedules + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | sage-hr | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Employees | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | [Models.Components.EmployeeSchedules](../../Models/Components/EmployeeSchedules.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetEmployeesResponse.md b/docs/Models/Components/GetEmployeesResponse.md new file mode 100644 index 00000000..d46b8721 --- /dev/null +++ b/docs/Models/Components/GetEmployeesResponse.md @@ -0,0 +1,17 @@ +# GetEmployeesResponse + +Employees + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | sage-hr | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Employees | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Employee](../../Models/Components/Employee.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetExpenseResponse.md b/docs/Models/Components/GetExpenseResponse.md new file mode 100644 index 00000000..e48a7ccd --- /dev/null +++ b/docs/Models/Components/GetExpenseResponse.md @@ -0,0 +1,15 @@ +# GetExpenseResponse + +Expenses + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Expenses | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Expense](../../Models/Components/Expense.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetExpensesResponse.md b/docs/Models/Components/GetExpensesResponse.md new file mode 100644 index 00000000..476bba7c --- /dev/null +++ b/docs/Models/Components/GetExpensesResponse.md @@ -0,0 +1,17 @@ +# GetExpensesResponse + +Expenses + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Expenses | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Expense](../../Models/Components/Expense.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetFileResponse.md b/docs/Models/Components/GetFileResponse.md new file mode 100644 index 00000000..2e6b98fd --- /dev/null +++ b/docs/Models/Components/GetFileResponse.md @@ -0,0 +1,15 @@ +# GetFileResponse + +File + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | google-drive | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | files | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [UnifiedFile](../../Models/Components/UnifiedFile.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetFilesResponse.md b/docs/Models/Components/GetFilesResponse.md new file mode 100644 index 00000000..3da58d5f --- /dev/null +++ b/docs/Models/Components/GetFilesResponse.md @@ -0,0 +1,17 @@ +# GetFilesResponse + +Files + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | google-drive | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | files | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[UnifiedFile](../../Models/Components/UnifiedFile.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetFolderResponse.md b/docs/Models/Components/GetFolderResponse.md new file mode 100644 index 00000000..736a90ad --- /dev/null +++ b/docs/Models/Components/GetFolderResponse.md @@ -0,0 +1,15 @@ +# GetFolderResponse + +Folders + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | undefined | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Folders | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Folder](../../Models/Components/Folder.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetHrisCompaniesResponse.md b/docs/Models/Components/GetHrisCompaniesResponse.md new file mode 100644 index 00000000..e63eda36 --- /dev/null +++ b/docs/Models/Components/GetHrisCompaniesResponse.md @@ -0,0 +1,17 @@ +# GetHrisCompaniesResponse + +Companies + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | undefined | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[HrisCompany](../../Models/Components/HrisCompany.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetHrisCompanyResponse.md b/docs/Models/Components/GetHrisCompanyResponse.md new file mode 100644 index 00000000..c20156a6 --- /dev/null +++ b/docs/Models/Components/GetHrisCompanyResponse.md @@ -0,0 +1,15 @@ +# GetHrisCompanyResponse + +Company + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | undefined | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [HrisCompany](../../Models/Components/HrisCompany.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetInvoiceItemResponse.md b/docs/Models/Components/GetInvoiceItemResponse.md new file mode 100644 index 00000000..5244f15d --- /dev/null +++ b/docs/Models/Components/GetInvoiceItemResponse.md @@ -0,0 +1,15 @@ +# GetInvoiceItemResponse + +InvoiceItems + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | invoice-items | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [InvoiceItem](../../Models/Components/InvoiceItem.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetInvoiceItemsResponse.md b/docs/Models/Components/GetInvoiceItemsResponse.md new file mode 100644 index 00000000..6e2b0cf4 --- /dev/null +++ b/docs/Models/Components/GetInvoiceItemsResponse.md @@ -0,0 +1,17 @@ +# GetInvoiceItemsResponse + +InvoiceItems + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | invoice-items | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[InvoiceItem](../../Models/Components/InvoiceItem.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetInvoiceResponse.md b/docs/Models/Components/GetInvoiceResponse.md new file mode 100644 index 00000000..02d5eca5 --- /dev/null +++ b/docs/Models/Components/GetInvoiceResponse.md @@ -0,0 +1,15 @@ +# GetInvoiceResponse + +Invoice + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | invoices | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Invoice](../../Models/Components/Invoice.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetInvoicesResponse.md b/docs/Models/Components/GetInvoicesResponse.md new file mode 100644 index 00000000..470fb169 --- /dev/null +++ b/docs/Models/Components/GetInvoicesResponse.md @@ -0,0 +1,17 @@ +# GetInvoicesResponse + +Invoices + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | invoices | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Invoice](../../Models/Components/Invoice.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetJobResponse.md b/docs/Models/Components/GetJobResponse.md new file mode 100644 index 00000000..9b435076 --- /dev/null +++ b/docs/Models/Components/GetJobResponse.md @@ -0,0 +1,15 @@ +# GetJobResponse + +Jobs + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | lever | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Jobs | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Job](../../Models/Components/Job.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetJobsResponse.md b/docs/Models/Components/GetJobsResponse.md new file mode 100644 index 00000000..140fcf80 --- /dev/null +++ b/docs/Models/Components/GetJobsResponse.md @@ -0,0 +1,17 @@ +# GetJobsResponse + +Jobs + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | lever | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Jobs | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Job](../../Models/Components/Job.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetJournalEntriesResponse.md b/docs/Models/Components/GetJournalEntriesResponse.md new file mode 100644 index 00000000..94803b90 --- /dev/null +++ b/docs/Models/Components/GetJournalEntriesResponse.md @@ -0,0 +1,17 @@ +# GetJournalEntriesResponse + +JournalEntry + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | journal-entries | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[JournalEntry](../../Models/Components/JournalEntry.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetJournalEntryResponse.md b/docs/Models/Components/GetJournalEntryResponse.md new file mode 100644 index 00000000..48f6b1d1 --- /dev/null +++ b/docs/Models/Components/GetJournalEntryResponse.md @@ -0,0 +1,15 @@ +# GetJournalEntryResponse + +JournalEntries + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | journal-entries | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [JournalEntry](../../Models/Components/JournalEntry.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetLeadResponse.md b/docs/Models/Components/GetLeadResponse.md new file mode 100644 index 00000000..b2b98395 --- /dev/null +++ b/docs/Models/Components/GetLeadResponse.md @@ -0,0 +1,15 @@ +# GetLeadResponse + +Lead + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Lead](../../Models/Components/Lead.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetLeadsResponse.md b/docs/Models/Components/GetLeadsResponse.md new file mode 100644 index 00000000..cdb62a35 --- /dev/null +++ b/docs/Models/Components/GetLeadsResponse.md @@ -0,0 +1,17 @@ +# GetLeadsResponse + +Leads + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Lead](../../Models/Components/Lead.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetLedgerAccountResponse.md b/docs/Models/Components/GetLedgerAccountResponse.md new file mode 100644 index 00000000..e8166fab --- /dev/null +++ b/docs/Models/Components/GetLedgerAccountResponse.md @@ -0,0 +1,15 @@ +# GetLedgerAccountResponse + +LedgerAccount + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | ledger-accounts | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [LedgerAccount](../../Models/Components/LedgerAccount.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetLedgerAccountsResponse.md b/docs/Models/Components/GetLedgerAccountsResponse.md new file mode 100644 index 00000000..e336a976 --- /dev/null +++ b/docs/Models/Components/GetLedgerAccountsResponse.md @@ -0,0 +1,17 @@ +# GetLedgerAccountsResponse + +LedgerAccounts + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | ledger-accounts | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[LedgerAccount](../../Models/Components/LedgerAccount.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetLogsResponse.md b/docs/Models/Components/GetLogsResponse.md new file mode 100644 index 00000000..e9583865 --- /dev/null +++ b/docs/Models/Components/GetLogsResponse.md @@ -0,0 +1,14 @@ +# GetLogsResponse + +Logs + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | List<[Log](../../Models/Components/Log.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetMessageResponse.md b/docs/Models/Components/GetMessageResponse.md new file mode 100644 index 00000000..f9973be3 --- /dev/null +++ b/docs/Models/Components/GetMessageResponse.md @@ -0,0 +1,15 @@ +# GetMessageResponse + +Messages + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | twilio | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Messages | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Message](../../Models/Components/Message.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetMessagesResponse.md b/docs/Models/Components/GetMessagesResponse.md new file mode 100644 index 00000000..c6854f8a --- /dev/null +++ b/docs/Models/Components/GetMessagesResponse.md @@ -0,0 +1,17 @@ +# GetMessagesResponse + +Messages + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | twilio | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Messages | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Message](../../Models/Components/Message.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetNoteResponse.md b/docs/Models/Components/GetNoteResponse.md new file mode 100644 index 00000000..1a075cc4 --- /dev/null +++ b/docs/Models/Components/GetNoteResponse.md @@ -0,0 +1,15 @@ +# GetNoteResponse + +Note + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | notes | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Note](../../Models/Components/Note.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetNotesResponse.md b/docs/Models/Components/GetNotesResponse.md new file mode 100644 index 00000000..c0cb3338 --- /dev/null +++ b/docs/Models/Components/GetNotesResponse.md @@ -0,0 +1,17 @@ +# GetNotesResponse + +Notes + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | notes | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Note](../../Models/Components/Note.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetOpportunitiesResponse.md b/docs/Models/Components/GetOpportunitiesResponse.md new file mode 100644 index 00000000..e0091a61 --- /dev/null +++ b/docs/Models/Components/GetOpportunitiesResponse.md @@ -0,0 +1,17 @@ +# GetOpportunitiesResponse + +Opportunities + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | opportunities | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Opportunity](../../Models/Components/Opportunity.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetOpportunityResponse.md b/docs/Models/Components/GetOpportunityResponse.md new file mode 100644 index 00000000..3115cdac --- /dev/null +++ b/docs/Models/Components/GetOpportunityResponse.md @@ -0,0 +1,15 @@ +# GetOpportunityResponse + +Opportunity + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | opportunities | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Opportunity](../../Models/Components/Opportunity.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetPaymentResponse.md b/docs/Models/Components/GetPaymentResponse.md new file mode 100644 index 00000000..f11ff029 --- /dev/null +++ b/docs/Models/Components/GetPaymentResponse.md @@ -0,0 +1,15 @@ +# GetPaymentResponse + +Payment + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | payments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Payment](../../Models/Components/Payment.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetPaymentsResponse.md b/docs/Models/Components/GetPaymentsResponse.md new file mode 100644 index 00000000..180476bb --- /dev/null +++ b/docs/Models/Components/GetPaymentsResponse.md @@ -0,0 +1,17 @@ +# GetPaymentsResponse + +Payments + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | payments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Payment](../../Models/Components/Payment.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetPayrollResponse.md b/docs/Models/Components/GetPayrollResponse.md new file mode 100644 index 00000000..c56d78a7 --- /dev/null +++ b/docs/Models/Components/GetPayrollResponse.md @@ -0,0 +1,15 @@ +# GetPayrollResponse + +Payrolls + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | undefined | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Payroll](../../Models/Components/Payroll.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetPayrollsResponse.md b/docs/Models/Components/GetPayrollsResponse.md new file mode 100644 index 00000000..43751747 --- /dev/null +++ b/docs/Models/Components/GetPayrollsResponse.md @@ -0,0 +1,15 @@ +# GetPayrollsResponse + +Payrolls + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | sage-hr | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Employees | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Payroll](../../Models/Components/Payroll.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetPipelineResponse.md b/docs/Models/Components/GetPipelineResponse.md new file mode 100644 index 00000000..a8318a36 --- /dev/null +++ b/docs/Models/Components/GetPipelineResponse.md @@ -0,0 +1,15 @@ +# GetPipelineResponse + +Pipeline + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | pipelines | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Pipeline](../../Models/Components/Pipeline.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetPipelinesResponse.md b/docs/Models/Components/GetPipelinesResponse.md new file mode 100644 index 00000000..abd6343f --- /dev/null +++ b/docs/Models/Components/GetPipelinesResponse.md @@ -0,0 +1,17 @@ +# GetPipelinesResponse + +Pipelines + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | pipelines | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Pipeline](../../Models/Components/Pipeline.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetProductResponse.md b/docs/Models/Components/GetProductResponse.md new file mode 100644 index 00000000..bb1c2990 --- /dev/null +++ b/docs/Models/Components/GetProductResponse.md @@ -0,0 +1,15 @@ +# GetProductResponse + +Products + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | shopify | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | products | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [EcommerceProduct](../../Models/Components/EcommerceProduct.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetProductsResponse.md b/docs/Models/Components/GetProductsResponse.md new file mode 100644 index 00000000..46eb98d8 --- /dev/null +++ b/docs/Models/Components/GetProductsResponse.md @@ -0,0 +1,17 @@ +# GetProductsResponse + +Products + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | shopify | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | products | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[EcommerceProduct](../../Models/Components/EcommerceProduct.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetProfitAndLossResponse.md b/docs/Models/Components/GetProfitAndLossResponse.md new file mode 100644 index 00000000..3667e367 --- /dev/null +++ b/docs/Models/Components/GetProfitAndLossResponse.md @@ -0,0 +1,15 @@ +# GetProfitAndLossResponse + +Profit & Loss Report + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | ProfitAndLosses | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Models.Components.ProfitAndLoss](../../Models/Components/ProfitAndLoss.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetPurchaseOrderResponse.md b/docs/Models/Components/GetPurchaseOrderResponse.md new file mode 100644 index 00000000..37a97f2d --- /dev/null +++ b/docs/Models/Components/GetPurchaseOrderResponse.md @@ -0,0 +1,15 @@ +# GetPurchaseOrderResponse + +PurchaseOrders + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | PurchaseOrders | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [PurchaseOrder](../../Models/Components/PurchaseOrder.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetPurchaseOrdersResponse.md b/docs/Models/Components/GetPurchaseOrdersResponse.md new file mode 100644 index 00000000..f2e0c8d6 --- /dev/null +++ b/docs/Models/Components/GetPurchaseOrdersResponse.md @@ -0,0 +1,17 @@ +# GetPurchaseOrdersResponse + +PurchaseOrders + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | PurchaseOrders | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[PurchaseOrder](../../Models/Components/PurchaseOrder.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetSharedLinkResponse.md b/docs/Models/Components/GetSharedLinkResponse.md new file mode 100644 index 00000000..be39f1db --- /dev/null +++ b/docs/Models/Components/GetSharedLinkResponse.md @@ -0,0 +1,15 @@ +# GetSharedLinkResponse + +Shared Link + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | dropbox | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Shared Links | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [SharedLink](../../Models/Components/SharedLink.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetSharedLinksResponse.md b/docs/Models/Components/GetSharedLinksResponse.md new file mode 100644 index 00000000..fba3e821 --- /dev/null +++ b/docs/Models/Components/GetSharedLinksResponse.md @@ -0,0 +1,17 @@ +# GetSharedLinksResponse + +Shared Links + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | dropbox | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Shared Links | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[SharedLink](../../Models/Components/SharedLink.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetStoreResponse.md b/docs/Models/Components/GetStoreResponse.md new file mode 100644 index 00000000..f3791cee --- /dev/null +++ b/docs/Models/Components/GetStoreResponse.md @@ -0,0 +1,15 @@ +# GetStoreResponse + +Stores + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | shopify | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | stores | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [EcommerceStore](../../Models/Components/EcommerceStore.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetSubsidiariesResponse.md b/docs/Models/Components/GetSubsidiariesResponse.md new file mode 100644 index 00000000..2a301df8 --- /dev/null +++ b/docs/Models/Components/GetSubsidiariesResponse.md @@ -0,0 +1,17 @@ +# GetSubsidiariesResponse + +Subsidiaries + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | subsidiaries | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Subsidiary](../../Models/Components/Subsidiary.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetSubsidiaryResponse.md b/docs/Models/Components/GetSubsidiaryResponse.md new file mode 100644 index 00000000..06a491b1 --- /dev/null +++ b/docs/Models/Components/GetSubsidiaryResponse.md @@ -0,0 +1,15 @@ +# GetSubsidiaryResponse + +Subsidiary + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | subsidiaries | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Subsidiary](../../Models/Components/Subsidiary.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetSupplierResponse.md b/docs/Models/Components/GetSupplierResponse.md new file mode 100644 index 00000000..7995d5a7 --- /dev/null +++ b/docs/Models/Components/GetSupplierResponse.md @@ -0,0 +1,15 @@ +# GetSupplierResponse + +Supplier + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | suppliers | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Supplier](../../Models/Components/Supplier.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetSuppliersResponse.md b/docs/Models/Components/GetSuppliersResponse.md new file mode 100644 index 00000000..af25ef3c --- /dev/null +++ b/docs/Models/Components/GetSuppliersResponse.md @@ -0,0 +1,17 @@ +# GetSuppliersResponse + +Suppliers + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | suppliers | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Supplier](../../Models/Components/Supplier.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetTaxRateResponse.md b/docs/Models/Components/GetTaxRateResponse.md new file mode 100644 index 00000000..1e59143d --- /dev/null +++ b/docs/Models/Components/GetTaxRateResponse.md @@ -0,0 +1,15 @@ +# GetTaxRateResponse + +TaxRate + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | tax-rates | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [TaxRate](../../Models/Components/TaxRate.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetTaxRatesResponse.md b/docs/Models/Components/GetTaxRatesResponse.md new file mode 100644 index 00000000..bb725bd5 --- /dev/null +++ b/docs/Models/Components/GetTaxRatesResponse.md @@ -0,0 +1,17 @@ +# GetTaxRatesResponse + +TaxRates + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | tax-rates | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[TaxRate](../../Models/Components/TaxRate.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetTicketResponse.md b/docs/Models/Components/GetTicketResponse.md new file mode 100644 index 00000000..86047df5 --- /dev/null +++ b/docs/Models/Components/GetTicketResponse.md @@ -0,0 +1,15 @@ +# GetTicketResponse + +Get a Ticket + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | sage-hr | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Tickets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [Ticket](../../Models/Components/Ticket.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetTicketsResponse.md b/docs/Models/Components/GetTicketsResponse.md new file mode 100644 index 00000000..ad300b78 --- /dev/null +++ b/docs/Models/Components/GetTicketsResponse.md @@ -0,0 +1,17 @@ +# GetTicketsResponse + +List Tickets + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | jira | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Tickets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[Ticket](../../Models/Components/Ticket.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetTimeOffRequestResponse.md b/docs/Models/Components/GetTimeOffRequestResponse.md new file mode 100644 index 00000000..8158da00 --- /dev/null +++ b/docs/Models/Components/GetTimeOffRequestResponse.md @@ -0,0 +1,15 @@ +# GetTimeOffRequestResponse + +TimeOffRequests + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | bamboohr | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | time-off-requests | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [TimeOffRequest](../../Models/Components/TimeOffRequest.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetTimeOffRequestsResponse.md b/docs/Models/Components/GetTimeOffRequestsResponse.md new file mode 100644 index 00000000..867aba5c --- /dev/null +++ b/docs/Models/Components/GetTimeOffRequestsResponse.md @@ -0,0 +1,17 @@ +# GetTimeOffRequestsResponse + +TimeOffRequests + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | bamboohr | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | time-off-requests | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[TimeOffRequest](../../Models/Components/TimeOffRequest.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetTrackingCategoriesResponse.md b/docs/Models/Components/GetTrackingCategoriesResponse.md new file mode 100644 index 00000000..7b82b990 --- /dev/null +++ b/docs/Models/Components/GetTrackingCategoriesResponse.md @@ -0,0 +1,17 @@ +# GetTrackingCategoriesResponse + +Tracking categories + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | tracking-categories | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[TrackingCategory](../../Models/Components/TrackingCategory.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetTrackingCategoryResponse.md b/docs/Models/Components/GetTrackingCategoryResponse.md new file mode 100644 index 00000000..be761fd1 --- /dev/null +++ b/docs/Models/Components/GetTrackingCategoryResponse.md @@ -0,0 +1,15 @@ +# GetTrackingCategoryResponse + +Tracking category + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | tracking-categories | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [TrackingCategory](../../Models/Components/TrackingCategory.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetUploadSessionResponse.md b/docs/Models/Components/GetUploadSessionResponse.md new file mode 100644 index 00000000..66f46da2 --- /dev/null +++ b/docs/Models/Components/GetUploadSessionResponse.md @@ -0,0 +1,15 @@ +# GetUploadSessionResponse + +UploadSessions + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | dropbox | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | UploadSessions | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [UploadSession](../../Models/Components/UploadSession.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetUserResponse.md b/docs/Models/Components/GetUserResponse.md new file mode 100644 index 00000000..9a586d6d --- /dev/null +++ b/docs/Models/Components/GetUserResponse.md @@ -0,0 +1,15 @@ +# GetUserResponse + +User + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | one | +| `Data` | [User](../../Models/Components/User.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetUsersResponse.md b/docs/Models/Components/GetUsersResponse.md new file mode 100644 index 00000000..f6eb4fb7 --- /dev/null +++ b/docs/Models/Components/GetUsersResponse.md @@ -0,0 +1,17 @@ +# GetUsersResponse + +Users + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | users | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | all | +| `Data` | List<[User](../../Models/Components/User.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GetWebhookResponse.md b/docs/Models/Components/GetWebhookResponse.md new file mode 100644 index 00000000..55205509 --- /dev/null +++ b/docs/Models/Components/GetWebhookResponse.md @@ -0,0 +1,12 @@ +# GetWebhookResponse + +Webhooks + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [Models.Components.Webhook](../../Models/Components/Webhook.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/GetWebhooksResponse.md b/docs/Models/Components/GetWebhooksResponse.md new file mode 100644 index 00000000..f10a1145 --- /dev/null +++ b/docs/Models/Components/GetWebhooksResponse.md @@ -0,0 +1,14 @@ +# GetWebhooksResponse + +Webhooks + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | List<[Models.Components.Webhook](../../Models/Components/Webhook.md)> | :heavy_check_mark: | N/A | | +| `Meta` | [Meta](../../Models/Components/Meta.md) | :heavy_minus_sign: | Response metadata | | +| `Links` | [Links](../../Models/Components/Links.md) | :heavy_minus_sign: | Links to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/GrossProfit.md b/docs/Models/Components/GrossProfit.md new file mode 100644 index 00000000..4c6ac3c0 --- /dev/null +++ b/docs/Models/Components/GrossProfit.md @@ -0,0 +1,9 @@ +# GrossProfit + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Total` | *double* | :heavy_check_mark: | Total gross profit | 100000 | +| `Records` | *object* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/HTTPMetadata.md b/docs/Models/Components/HTTPMetadata.md new file mode 100644 index 00000000..e01c47a3 --- /dev/null +++ b/docs/Models/Components/HTTPMetadata.md @@ -0,0 +1,9 @@ +# HTTPMetadata + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `Response` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Request` | *HttpRequestMessage* | :heavy_check_mark: | Raw HTTP request; suitable for debugging | \ No newline at end of file diff --git a/docs/Models/Components/HrisCompany.md b/docs/Models/Components/HrisCompany.md new file mode 100644 index 00000000..99161cc2 --- /dev/null +++ b/docs/Models/Components/HrisCompany.md @@ -0,0 +1,26 @@ +# HrisCompany + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `LegalName` | *string* | :heavy_check_mark: | N/A | SpaceX | +| `DisplayName` | *string* | :heavy_minus_sign: | N/A | SpaceX | +| `Subdomain` | *string* | :heavy_minus_sign: | N/A | company | +| `Status` | [HrisCompanyStatus](../../Models/Components/HrisCompanyStatus.md) | :heavy_minus_sign: | N/A | active | +| `CompanyNumber` | *string* | :heavy_minus_sign: | An Company Number, Company ID or Company Code, is a unique number that has been assigned to each company. | 123456-AB | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `Websites` | List<[Website](../../Models/Components/Website.md)> | :heavy_minus_sign: | N/A | | +| `DebtorId` | *string* | :heavy_minus_sign: | N/A | 12345 | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `Deleted` | *bool* | :heavy_minus_sign: | N/A | false | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/HrisCompanyInput.md b/docs/Models/Components/HrisCompanyInput.md new file mode 100644 index 00000000..0670d6ea --- /dev/null +++ b/docs/Models/Components/HrisCompanyInput.md @@ -0,0 +1,19 @@ +# HrisCompanyInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `LegalName` | *string* | :heavy_check_mark: | N/A | SpaceX | +| `DisplayName` | *string* | :heavy_minus_sign: | N/A | SpaceX | +| `Subdomain` | *string* | :heavy_minus_sign: | N/A | company | +| `Status` | [HrisCompanyStatus](../../Models/Components/HrisCompanyStatus.md) | :heavy_minus_sign: | N/A | active | +| `CompanyNumber` | *string* | :heavy_minus_sign: | An Company Number, Company ID or Company Code, is a unique number that has been assigned to each company. | 123456-AB | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `Websites` | List<[Website](../../Models/Components/Website.md)> | :heavy_minus_sign: | N/A | | +| `DebtorId` | *string* | :heavy_minus_sign: | N/A | 12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/HrisCompanyStatus.md b/docs/Models/Components/HrisCompanyStatus.md new file mode 100644 index 00000000..70726493 --- /dev/null +++ b/docs/Models/Components/HrisCompanyStatus.md @@ -0,0 +1,11 @@ +# HrisCompanyStatus + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Active` | active | +| `Inactive` | inactive | +| `Trial` | trial | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/Images.md b/docs/Models/Components/Images.md new file mode 100644 index 00000000..2ce0a761 --- /dev/null +++ b/docs/Models/Components/Images.md @@ -0,0 +1,9 @@ +# Images + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Url` | *string* | :heavy_minus_sign: | The URL of an image of the product. | https://example.com/macbook-pro.jpg | \ No newline at end of file diff --git a/docs/Models/Components/Income.md b/docs/Models/Components/Income.md new file mode 100644 index 00000000..d5328ef3 --- /dev/null +++ b/docs/Models/Components/Income.md @@ -0,0 +1,9 @@ +# Income + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Total` | *double* | :heavy_check_mark: | Total income | 100000 | +| `Records` | *object* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/IntegrationState.md b/docs/Models/Components/IntegrationState.md new file mode 100644 index 00000000..4be2344b --- /dev/null +++ b/docs/Models/Components/IntegrationState.md @@ -0,0 +1,12 @@ +# IntegrationState + +The current state of the Integration. + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `Disabled` | disabled | +| `NeedsConfiguration` | needs_configuration | +| `Configured` | configured | \ No newline at end of file diff --git a/docs/Models/Components/Invoice.md b/docs/Models/Components/Invoice.md new file mode 100644 index 00000000..7bcbc84c --- /dev/null +++ b/docs/Models/Components/Invoice.md @@ -0,0 +1,53 @@ +# Invoice + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `DownstreamId` | *string* | :heavy_minus_sign: | The third-party API ID of original entity | 12345 | +| `Type` | [InvoiceType](../../Models/Components/InvoiceType.md) | :heavy_minus_sign: | Invoice type | service | +| `Number` | *string* | :heavy_minus_sign: | Invoice number. | OIT00546 | +| `Customer` | [LinkedCustomer](../../Models/Components/LinkedCustomer.md) | :heavy_minus_sign: | The customer this entity is linked to. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `InvoiceDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | Date invoice was issued - YYYY-MM-DD. | 2020-09-30 | +| `DueDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The invoice due date is the date on which a payment or invoice is scheduled to be received by the seller - YYYY-MM-DD. | 2020-09-30 | +| `Terms` | *string* | :heavy_minus_sign: | Terms of payment. | Net 30 days | +| `PoNumber` | *string* | :heavy_minus_sign: | A PO Number uniquely identifies a purchase order and is generally defined by the buyer. The buyer will match the PO number in the invoice to the Purchase Order. | 90000117 | +| `Reference` | *string* | :heavy_minus_sign: | Optional invoice reference. | 123456 | +| `Status` | [InvoiceStatus](../../Models/Components/InvoiceStatus.md) | :heavy_minus_sign: | Invoice status | draft | +| `InvoiceSent` | *bool* | :heavy_minus_sign: | Invoice sent to contact/customer. | true | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `TaxInclusive` | *bool* | :heavy_minus_sign: | Amounts are including tax | true | +| `SubTotal` | *double* | :heavy_minus_sign: | Sub-total amount, normally before tax. | 27500 | +| `TotalTax` | *double* | :heavy_minus_sign: | Total tax amount applied to this invoice. | 2500 | +| `TaxCode` | *string* | :heavy_minus_sign: | Applicable tax id/code override if tax is not supplied on a line item basis. | 1234 | +| `DiscountPercentage` | *double* | :heavy_minus_sign: | Discount percentage applied to this invoice. | 5.5 | +| `DiscountAmount` | *double* | :heavy_minus_sign: | Discount amount applied to this invoice. | 25 | +| `Total` | *double* | :heavy_minus_sign: | Total amount of invoice, including tax. | 27500 | +| `Balance` | *double* | :heavy_minus_sign: | Balance of invoice due. | 27500 | +| `Deposit` | *double* | :heavy_minus_sign: | Amount of deposit made to this invoice. | 0 | +| `CustomerMemo` | *string* | :heavy_minus_sign: | Customer memo | Thank you for your business and have a great day! | +| ~~`TrackingCategory`~~ | [DeprecatedLinkedTrackingCategory](../../Models/Components/DeprecatedLinkedTrackingCategory.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `LineItems` | List<[InvoiceLineItem](../../Models/Components/InvoiceLineItem.md)> | :heavy_minus_sign: | N/A | | +| `BillingAddress` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | +| `ShippingAddress` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | +| `TemplateId` | *string* | :heavy_minus_sign: | Optional invoice template | 123456 | +| `SourceDocumentUrl` | *string* | :heavy_minus_sign: | URL link to a source document - shown as 'Go to [appName]' in the downstream app. Currently only supported for Xero. | https://www.invoicesolution.com/invoice/123456 | +| `PaymentMethod` | *string* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `Channel` | *string* | :heavy_minus_sign: | The channel through which the transaction is processed. | email | +| `Language` | *string* | :heavy_minus_sign: | language code according to ISO 639-1. For the United States - EN | EN | +| `AccountingByRow` | *bool* | :heavy_minus_sign: | Indicates if accounting by row is used (true) or not (false). Accounting by row means that a separate ledger transaction is created for each row. | false | +| `BankAccount` | [BankAccount](../../Models/Components/BankAccount.md) | :heavy_minus_sign: | N/A | | +| `LedgerAccount` | [LinkedLedgerAccount](../../Models/Components/LinkedLedgerAccount.md) | :heavy_minus_sign: | N/A | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceInput.md b/docs/Models/Components/InvoiceInput.md new file mode 100644 index 00000000..f89a4a19 --- /dev/null +++ b/docs/Models/Components/InvoiceInput.md @@ -0,0 +1,46 @@ +# InvoiceInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Type` | [InvoiceType](../../Models/Components/InvoiceType.md) | :heavy_minus_sign: | Invoice type | service | +| `Number` | *string* | :heavy_minus_sign: | Invoice number. | OIT00546 | +| `Customer` | [LinkedCustomerInput](../../Models/Components/LinkedCustomerInput.md) | :heavy_minus_sign: | The customer this entity is linked to. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `InvoiceDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | Date invoice was issued - YYYY-MM-DD. | 2020-09-30 | +| `DueDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The invoice due date is the date on which a payment or invoice is scheduled to be received by the seller - YYYY-MM-DD. | 2020-09-30 | +| `Terms` | *string* | :heavy_minus_sign: | Terms of payment. | Net 30 days | +| `PoNumber` | *string* | :heavy_minus_sign: | A PO Number uniquely identifies a purchase order and is generally defined by the buyer. The buyer will match the PO number in the invoice to the Purchase Order. | 90000117 | +| `Reference` | *string* | :heavy_minus_sign: | Optional invoice reference. | 123456 | +| `Status` | [InvoiceStatus](../../Models/Components/InvoiceStatus.md) | :heavy_minus_sign: | Invoice status | draft | +| `InvoiceSent` | *bool* | :heavy_minus_sign: | Invoice sent to contact/customer. | true | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `TaxInclusive` | *bool* | :heavy_minus_sign: | Amounts are including tax | true | +| `SubTotal` | *double* | :heavy_minus_sign: | Sub-total amount, normally before tax. | 27500 | +| `TotalTax` | *double* | :heavy_minus_sign: | Total tax amount applied to this invoice. | 2500 | +| `TaxCode` | *string* | :heavy_minus_sign: | Applicable tax id/code override if tax is not supplied on a line item basis. | 1234 | +| `DiscountPercentage` | *double* | :heavy_minus_sign: | Discount percentage applied to this invoice. | 5.5 | +| `DiscountAmount` | *double* | :heavy_minus_sign: | Discount amount applied to this invoice. | 25 | +| `Total` | *double* | :heavy_minus_sign: | Total amount of invoice, including tax. | 27500 | +| `Balance` | *double* | :heavy_minus_sign: | Balance of invoice due. | 27500 | +| `Deposit` | *double* | :heavy_minus_sign: | Amount of deposit made to this invoice. | 0 | +| `CustomerMemo` | *string* | :heavy_minus_sign: | Customer memo | Thank you for your business and have a great day! | +| ~~`TrackingCategory`~~ | [DeprecatedLinkedTrackingCategory](../../Models/Components/DeprecatedLinkedTrackingCategory.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `LineItems` | List<[InvoiceLineItemInput](../../Models/Components/InvoiceLineItemInput.md)> | :heavy_minus_sign: | N/A | | +| `BillingAddress` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | +| `ShippingAddress` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | +| `TemplateId` | *string* | :heavy_minus_sign: | Optional invoice template | 123456 | +| `SourceDocumentUrl` | *string* | :heavy_minus_sign: | URL link to a source document - shown as 'Go to [appName]' in the downstream app. Currently only supported for Xero. | https://www.invoicesolution.com/invoice/123456 | +| `PaymentMethod` | *string* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `Channel` | *string* | :heavy_minus_sign: | The channel through which the transaction is processed. | email | +| `Language` | *string* | :heavy_minus_sign: | language code according to ISO 639-1. For the United States - EN | EN | +| `AccountingByRow` | *bool* | :heavy_minus_sign: | Indicates if accounting by row is used (true) or not (false). Accounting by row means that a separate ledger transaction is created for each row. | false | +| `BankAccount` | [BankAccount](../../Models/Components/BankAccount.md) | :heavy_minus_sign: | N/A | | +| `LedgerAccount` | [LinkedLedgerAccountInput](../../Models/Components/LinkedLedgerAccountInput.md) | :heavy_minus_sign: | N/A | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceItem.md b/docs/Models/Components/InvoiceItem.md new file mode 100644 index 00000000..332e0473 --- /dev/null +++ b/docs/Models/Components/InvoiceItem.md @@ -0,0 +1,34 @@ +# InvoiceItem + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The ID of the item. | 123456 | +| `Name` | *string* | :heavy_minus_sign: | Item name | Model Y | +| `Description` | *string* | :heavy_minus_sign: | A short description of the item | Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection. | +| `Code` | *string* | :heavy_minus_sign: | User defined item code | 120-C | +| `Sold` | *bool* | :heavy_minus_sign: | Item will be available on sales transactions | true | +| `Purchased` | *bool* | :heavy_minus_sign: | Item is available for purchase transactions | true | +| `Tracked` | *bool* | :heavy_minus_sign: | Item is inventoried | true | +| `Taxable` | *bool* | :heavy_minus_sign: | If true, transactions for this item are taxable | true | +| `InventoryDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date of opening balance if inventory item is tracked - YYYY-MM-DD. | 2020-10-30 | +| `Type` | [InvoiceItemTypeType](../../Models/Components/InvoiceItemTypeType.md) | :heavy_minus_sign: | Item type | inventory | +| `SalesDetails` | [SalesDetails](../../Models/Components/SalesDetails.md) | :heavy_minus_sign: | N/A | | +| `PurchaseDetails` | [PurchaseDetails](../../Models/Components/PurchaseDetails.md) | :heavy_minus_sign: | N/A | | +| `Quantity` | *double* | :heavy_minus_sign: | N/A | 1 | +| `UnitPrice` | *double* | :heavy_minus_sign: | N/A | 27500.5 | +| `AssetAccount` | [LinkedLedgerAccount](../../Models/Components/LinkedLedgerAccount.md) | :heavy_minus_sign: | N/A | | +| `IncomeAccount` | [LinkedLedgerAccount](../../Models/Components/LinkedLedgerAccount.md) | :heavy_minus_sign: | N/A | | +| `ExpenseAccount` | [LinkedLedgerAccount](../../Models/Components/LinkedLedgerAccount.md) | :heavy_minus_sign: | N/A | | +| ~~`TrackingCategory`~~ | [DeprecatedLinkedTrackingCategory](../../Models/Components/DeprecatedLinkedTrackingCategory.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `Active` | *bool* | :heavy_minus_sign: | N/A | true | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceItemFilter.md b/docs/Models/Components/InvoiceItemFilter.md new file mode 100644 index 00000000..aabe06f5 --- /dev/null +++ b/docs/Models/Components/InvoiceItemFilter.md @@ -0,0 +1,8 @@ +# InvoiceItemFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `Type` | [InvoiceItemFilterInvoiceItemType](../../Models/Components/InvoiceItemFilterInvoiceItemType.md) | :heavy_minus_sign: | The type of invoice item, indicating whether it is an inventory item, a service, or another type. | service | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceItemFilterInvoiceItemType.md b/docs/Models/Components/InvoiceItemFilterInvoiceItemType.md new file mode 100644 index 00000000..8c09dd36 --- /dev/null +++ b/docs/Models/Components/InvoiceItemFilterInvoiceItemType.md @@ -0,0 +1,12 @@ +# InvoiceItemFilterInvoiceItemType + +The type of invoice item, indicating whether it is an inventory item, a service, or another type. + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Inventory` | inventory | +| `Service` | service | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceItemInput.md b/docs/Models/Components/InvoiceItemInput.md new file mode 100644 index 00000000..7b195fee --- /dev/null +++ b/docs/Models/Components/InvoiceItemInput.md @@ -0,0 +1,28 @@ +# InvoiceItemInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_minus_sign: | Item name | Model Y | +| `Description` | *string* | :heavy_minus_sign: | A short description of the item | Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection. | +| `Code` | *string* | :heavy_minus_sign: | User defined item code | 120-C | +| `Sold` | *bool* | :heavy_minus_sign: | Item will be available on sales transactions | true | +| `Purchased` | *bool* | :heavy_minus_sign: | Item is available for purchase transactions | true | +| `Tracked` | *bool* | :heavy_minus_sign: | Item is inventoried | true | +| `Taxable` | *bool* | :heavy_minus_sign: | If true, transactions for this item are taxable | true | +| `InventoryDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date of opening balance if inventory item is tracked - YYYY-MM-DD. | 2020-10-30 | +| `Type` | [InvoiceItemTypeType](../../Models/Components/InvoiceItemTypeType.md) | :heavy_minus_sign: | Item type | inventory | +| `SalesDetails` | [InvoiceItemSalesDetails](../../Models/Components/InvoiceItemSalesDetails.md) | :heavy_minus_sign: | N/A | | +| `PurchaseDetails` | [InvoiceItemPurchaseDetails](../../Models/Components/InvoiceItemPurchaseDetails.md) | :heavy_minus_sign: | N/A | | +| `Quantity` | *double* | :heavy_minus_sign: | N/A | 1 | +| `UnitPrice` | *double* | :heavy_minus_sign: | N/A | 27500.5 | +| `AssetAccount` | [LinkedLedgerAccountInput](../../Models/Components/LinkedLedgerAccountInput.md) | :heavy_minus_sign: | N/A | | +| `IncomeAccount` | [LinkedLedgerAccountInput](../../Models/Components/LinkedLedgerAccountInput.md) | :heavy_minus_sign: | N/A | | +| `ExpenseAccount` | [LinkedLedgerAccountInput](../../Models/Components/LinkedLedgerAccountInput.md) | :heavy_minus_sign: | N/A | | +| ~~`TrackingCategory`~~ | [DeprecatedLinkedTrackingCategory](../../Models/Components/DeprecatedLinkedTrackingCategory.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `Active` | *bool* | :heavy_minus_sign: | N/A | true | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceItemPurchaseDetails.md b/docs/Models/Components/InvoiceItemPurchaseDetails.md new file mode 100644 index 00000000..9512f2fa --- /dev/null +++ b/docs/Models/Components/InvoiceItemPurchaseDetails.md @@ -0,0 +1,11 @@ +# InvoiceItemPurchaseDetails + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `UnitPrice` | *double* | :heavy_minus_sign: | N/A | 27500.5 | +| `UnitOfMeasure` | *string* | :heavy_minus_sign: | Description of the unit type the item is sold as, ie: kg, hour. | pc. | +| `TaxInclusive` | *bool* | :heavy_minus_sign: | Amounts are including tax | true | +| `TaxRate` | [LinkedTaxRateInput](../../Models/Components/LinkedTaxRateInput.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceItemSalesDetails.md b/docs/Models/Components/InvoiceItemSalesDetails.md new file mode 100644 index 00000000..6a26190c --- /dev/null +++ b/docs/Models/Components/InvoiceItemSalesDetails.md @@ -0,0 +1,11 @@ +# InvoiceItemSalesDetails + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `UnitPrice` | *double* | :heavy_minus_sign: | N/A | 27500.5 | +| `UnitOfMeasure` | *string* | :heavy_minus_sign: | Description of the unit type the item is sold as, ie: kg, hour. | pc. | +| `TaxInclusive` | *bool* | :heavy_minus_sign: | Amounts are including tax | true | +| `TaxRate` | [LinkedTaxRateInput](../../Models/Components/LinkedTaxRateInput.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceItemType.md b/docs/Models/Components/InvoiceItemType.md new file mode 100644 index 00000000..110e5387 --- /dev/null +++ b/docs/Models/Components/InvoiceItemType.md @@ -0,0 +1,12 @@ +# InvoiceItemType + +The type of invoice item, indicating whether it is an inventory item, a service, or another type. + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Inventory` | inventory | +| `Service` | service | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceItemTypeType.md b/docs/Models/Components/InvoiceItemTypeType.md new file mode 100644 index 00000000..1c8b25f1 --- /dev/null +++ b/docs/Models/Components/InvoiceItemTypeType.md @@ -0,0 +1,12 @@ +# InvoiceItemTypeType + +Item type + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Inventory` | inventory | +| `Service` | service | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceItemsFilter.md b/docs/Models/Components/InvoiceItemsFilter.md new file mode 100644 index 00000000..a31a97bd --- /dev/null +++ b/docs/Models/Components/InvoiceItemsFilter.md @@ -0,0 +1,9 @@ +# InvoiceItemsFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_minus_sign: | Name of Invoice Items to search for | Widgets Large | +| `Type` | [InvoiceItemType](../../Models/Components/InvoiceItemType.md) | :heavy_minus_sign: | The type of invoice item, indicating whether it is an inventory item, a service, or another type. | service | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceLineItem.md b/docs/Models/Components/InvoiceLineItem.md new file mode 100644 index 00000000..83b06647 --- /dev/null +++ b/docs/Models/Components/InvoiceLineItem.md @@ -0,0 +1,32 @@ +# InvoiceLineItem + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `RowId` | *string* | :heavy_minus_sign: | Row ID | 12345 | +| `Code` | *string* | :heavy_minus_sign: | User defined item code | 120-C | +| `LineNumber` | *long* | :heavy_minus_sign: | Line number of the resource | 1 | +| `Description` | *string* | :heavy_minus_sign: | User defined description | Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection. | +| `Type` | [InvoiceLineItemType](../../Models/Components/InvoiceLineItemType.md) | :heavy_minus_sign: | Item type | sales_item | +| `TaxAmount` | *double* | :heavy_minus_sign: | Tax amount | 27500 | +| `TotalAmount` | *double* | :heavy_minus_sign: | Total amount of the line item | 27500 | +| `Quantity` | *double* | :heavy_minus_sign: | N/A | 1 | +| `UnitPrice` | *double* | :heavy_minus_sign: | N/A | 27500.5 | +| `UnitOfMeasure` | *string* | :heavy_minus_sign: | Description of the unit type the item is sold as, ie: kg, hour. | pc. | +| `DiscountPercentage` | *double* | :heavy_minus_sign: | Discount percentage applied to the line item when supported downstream. | 0.01 | +| `DiscountAmount` | *double* | :heavy_minus_sign: | Discount amount applied to the line item when supported downstream. | 19.99 | +| `LocationId` | *string* | :heavy_minus_sign: | Location id | 1234 | +| `DepartmentId` | *string* | :heavy_minus_sign: | Department id | 1234 | +| `Item` | [LinkedInvoiceItem](../../Models/Components/LinkedInvoiceItem.md) | :heavy_minus_sign: | N/A | | +| `TaxRate` | [LinkedTaxRate](../../Models/Components/LinkedTaxRate.md) | :heavy_minus_sign: | N/A | | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `LedgerAccount` | [LinkedLedgerAccount](../../Models/Components/LinkedLedgerAccount.md) | :heavy_minus_sign: | N/A | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceLineItemInput.md b/docs/Models/Components/InvoiceLineItemInput.md new file mode 100644 index 00000000..733b3bc9 --- /dev/null +++ b/docs/Models/Components/InvoiceLineItemInput.md @@ -0,0 +1,28 @@ +# InvoiceLineItemInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `RowId` | *string* | :heavy_minus_sign: | Row ID | 12345 | +| `Code` | *string* | :heavy_minus_sign: | User defined item code | 120-C | +| `LineNumber` | *long* | :heavy_minus_sign: | Line number of the resource | 1 | +| `Description` | *string* | :heavy_minus_sign: | User defined description | Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection. | +| `Type` | [InvoiceLineItemType](../../Models/Components/InvoiceLineItemType.md) | :heavy_minus_sign: | Item type | sales_item | +| `TaxAmount` | *double* | :heavy_minus_sign: | Tax amount | 27500 | +| `TotalAmount` | *double* | :heavy_minus_sign: | Total amount of the line item | 27500 | +| `Quantity` | *double* | :heavy_minus_sign: | N/A | 1 | +| `UnitPrice` | *double* | :heavy_minus_sign: | N/A | 27500.5 | +| `UnitOfMeasure` | *string* | :heavy_minus_sign: | Description of the unit type the item is sold as, ie: kg, hour. | pc. | +| `DiscountPercentage` | *double* | :heavy_minus_sign: | Discount percentage applied to the line item when supported downstream. | 0.01 | +| `DiscountAmount` | *double* | :heavy_minus_sign: | Discount amount applied to the line item when supported downstream. | 19.99 | +| `LocationId` | *string* | :heavy_minus_sign: | Location id | 1234 | +| `DepartmentId` | *string* | :heavy_minus_sign: | Department id | 1234 | +| `Item` | [LinkedInvoiceItem](../../Models/Components/LinkedInvoiceItem.md) | :heavy_minus_sign: | N/A | | +| `TaxRate` | [LinkedTaxRateInput](../../Models/Components/LinkedTaxRateInput.md) | :heavy_minus_sign: | N/A | | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `LedgerAccount` | [LinkedLedgerAccountInput](../../Models/Components/LinkedLedgerAccountInput.md) | :heavy_minus_sign: | N/A | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceLineItemType.md b/docs/Models/Components/InvoiceLineItemType.md new file mode 100644 index 00000000..5ef46782 --- /dev/null +++ b/docs/Models/Components/InvoiceLineItemType.md @@ -0,0 +1,14 @@ +# InvoiceLineItemType + +Item type + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `SalesItem` | sales_item | +| `Discount` | discount | +| `Info` | info | +| `SubTotal` | sub_total | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceResponse.md b/docs/Models/Components/InvoiceResponse.md new file mode 100644 index 00000000..04918327 --- /dev/null +++ b/docs/Models/Components/InvoiceResponse.md @@ -0,0 +1,9 @@ +# InvoiceResponse + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `DownstreamId` | *string* | :heavy_minus_sign: | The third-party API ID of original entity | 12345 | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceStatus.md b/docs/Models/Components/InvoiceStatus.md new file mode 100644 index 00000000..e0c1694f --- /dev/null +++ b/docs/Models/Components/InvoiceStatus.md @@ -0,0 +1,17 @@ +# InvoiceStatus + +Invoice status + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `Draft` | draft | +| `Submitted` | submitted | +| `Authorised` | authorised | +| `PartiallyPaid` | partially_paid | +| `Paid` | paid | +| `Void` | void | +| `Credit` | credit | +| `Deleted` | deleted | \ No newline at end of file diff --git a/docs/Models/Components/InvoiceType.md b/docs/Models/Components/InvoiceType.md new file mode 100644 index 00000000..de1dbf15 --- /dev/null +++ b/docs/Models/Components/InvoiceType.md @@ -0,0 +1,15 @@ +# InvoiceType + +Invoice type + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Standard` | standard | +| `Credit` | credit | +| `Service` | service | +| `Product` | product | +| `Supplier` | supplier | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/InvoicesFilter.md b/docs/Models/Components/InvoicesFilter.md new file mode 100644 index 00000000..6ffcc898 --- /dev/null +++ b/docs/Models/Components/InvoicesFilter.md @@ -0,0 +1,10 @@ +# InvoicesFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `UpdatedSince` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | +| `CreatedSince` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | +| `Number` | *string* | :heavy_minus_sign: | Invoice number to search for | OIT00546 | \ No newline at end of file diff --git a/docs/Models/Components/InvoicesSort.md b/docs/Models/Components/InvoicesSort.md new file mode 100644 index 00000000..4530eb10 --- /dev/null +++ b/docs/Models/Components/InvoicesSort.md @@ -0,0 +1,9 @@ +# InvoicesSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `By` | [InvoicesSortBy](../../Models/Components/InvoicesSortBy.md) | :heavy_minus_sign: | The field on which to sort the Invoices | updated_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/InvoicesSortBy.md b/docs/Models/Components/InvoicesSortBy.md new file mode 100644 index 00000000..7f8e721f --- /dev/null +++ b/docs/Models/Components/InvoicesSortBy.md @@ -0,0 +1,11 @@ +# InvoicesSortBy + +The field on which to sort the Invoices + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | \ No newline at end of file diff --git a/docs/Models/Components/IssuesFilter.md b/docs/Models/Components/IssuesFilter.md new file mode 100644 index 00000000..b7559076 --- /dev/null +++ b/docs/Models/Components/IssuesFilter.md @@ -0,0 +1,10 @@ +# IssuesFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `Status` | List<*string*> | :heavy_minus_sign: | Filter by ticket status, can be `open`, `closed` or `all`. Will passthrough if none of the above match | [
"closed"
] | +| `Since` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | Only return tickets since a specific date | 2020-09-30T07:43:32.000Z | +| `AssigneeId` | *string* | :heavy_minus_sign: | Only return tickets assigned to a specific user | 2332bd9c2eaaa5dcfa14721c | \ No newline at end of file diff --git a/docs/Models/Components/Job.md b/docs/Models/Components/Job.md new file mode 100644 index 00000000..b5cabfc0 --- /dev/null +++ b/docs/Models/Components/Job.md @@ -0,0 +1,49 @@ +# Job + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Slug` | *string* | :heavy_minus_sign: | N/A | ceo | +| `Title` | *string* | :heavy_minus_sign: | The job title of the person. | CEO | +| `Sequence` | *long* | :heavy_minus_sign: | Sequence in relation to other jobs. | 3 | +| `Visibility` | [Visibility](../../Models/Components/Visibility.md) | :heavy_minus_sign: | The visibility of the job | internal | +| `Status` | [JobStatus](../../Models/Components/JobStatus.md) | :heavy_minus_sign: | The status of the job. | completed | +| `Code` | *string* | :heavy_minus_sign: | The code of the job. | 123-OC | +| `Language` | *string* | :heavy_minus_sign: | language code according to ISO 639-1. For the United States - EN | EN | +| `EmploymentTerms` | [EmploymentTerms](../../Models/Components/EmploymentTerms.md) | :heavy_minus_sign: | N/A | full-time | +| `Experience` | *string* | :heavy_minus_sign: | Level of experience required for the job role. | Director/ Vice President | +| `Location` | *string* | :heavy_minus_sign: | Specifies the location for the job posting. | San Francisco | +| `Remote` | *bool* | :heavy_minus_sign: | Specifies whether the posting is for a remote job. | true | +| `RequisitionId` | *string* | :heavy_minus_sign: | A job's Requisition ID (Req ID) allows your organization to identify and track a job based on alphanumeric naming conventions unique to your company's internal processes. | abc123 | +| `Department` | [Department](../../Models/Components/Department.md) | :heavy_minus_sign: | N/A | | +| `Branch` | [Branch](../../Models/Components/Branch.md) | :heavy_minus_sign: | Details of the branch for which the job is created. | {
"id": "123",
"name": "HQ NY"
} | +| `Recruiters` | List<*string*> | :heavy_minus_sign: | The recruiter is generally someone who is tasked to help the hiring manager find and screen qualified applicant | [
"a0d636c6-43b3-4bde-8c70-85b707d992f4"
] | +| `HiringManagers` | List<*string*> | :heavy_minus_sign: | N/A | [
"123456"
] | +| `Followers` | List<*string*> | :heavy_minus_sign: | N/A | [
"a0d636c6-43b3-4bde-8c70-85b707d992f4",
"a98lfd96-43b3-4bde-8c70-85b707d992e6"
] | +| `Description` | *string* | :heavy_minus_sign: | A description of the object. | A description | +| `DescriptionHtml` | *string* | :heavy_minus_sign: | The job description in HTML format | | +| `Blocks` | List<[Blocks](../../Models/Components/Blocks.md)> | :heavy_minus_sign: | N/A | [
{
"title": "string",
"content": "string"
}
] | +| `Closing` | *string* | :heavy_minus_sign: | N/A | The closing section of the job description | +| `ClosingHtml` | *string* | :heavy_minus_sign: | The closing section of the job description in HTML format | | +| `ClosingDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | N/A | 2020-10-30 | +| `Salary` | [Salary](../../Models/Components/Salary.md) | :heavy_minus_sign: | N/A | | +| ~~`Url`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

URL of the job description | | +| ~~`JobPortalUrl`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

URL of the job portal | | +| ~~`RecordUrl`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | https://app.intercom.io/contacts/12345 | +| `Links` | List<[JobLinks](../../Models/Components/JobLinks.md)> | :heavy_minus_sign: | N/A | | +| `Confidential` | *bool* | :heavy_minus_sign: | N/A | false | +| `AvailableToEmployees` | *bool* | :heavy_minus_sign: | Specifies whether an employee of the organization can apply for the job. | false | +| `Tags` | List<*string*> | :heavy_minus_sign: | N/A | [
"New"
] | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `Deleted` | *bool* | :heavy_minus_sign: | Flag to indicate if the object is deleted. | true | +| `OwnerId` | *string* | :heavy_minus_sign: | N/A | 54321 | +| `PublishedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/JobLinks.md b/docs/Models/Components/JobLinks.md new file mode 100644 index 00000000..7fd07037 --- /dev/null +++ b/docs/Models/Components/JobLinks.md @@ -0,0 +1,9 @@ +# JobLinks + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | +| `Type` | [JobType](../../Models/Components/JobType.md) | :heavy_minus_sign: | N/A | job_portal | +| `Url` | *string* | :heavy_minus_sign: | N/A | https://app.intercom.io/contacts/12345 | \ No newline at end of file diff --git a/docs/Models/Components/JobStatus.md b/docs/Models/Components/JobStatus.md new file mode 100644 index 00000000..43cc44ff --- /dev/null +++ b/docs/Models/Components/JobStatus.md @@ -0,0 +1,15 @@ +# JobStatus + +The status of the job. + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Draft` | draft | +| `Internal` | internal | +| `Published` | published | +| `Completed` | completed | +| `OnHold` | on-hold | +| `Private` | private | \ No newline at end of file diff --git a/docs/Models/Components/JobType.md b/docs/Models/Components/JobType.md new file mode 100644 index 00000000..c72f53c9 --- /dev/null +++ b/docs/Models/Components/JobType.md @@ -0,0 +1,9 @@ +# JobType + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `JobPortal` | job_portal | +| `JobDescription` | job_description | \ No newline at end of file diff --git a/docs/Models/Components/JournalEntriesFilter.md b/docs/Models/Components/JournalEntriesFilter.md new file mode 100644 index 00000000..a11bbb07 --- /dev/null +++ b/docs/Models/Components/JournalEntriesFilter.md @@ -0,0 +1,8 @@ +# JournalEntriesFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `UpdatedSince` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/JournalEntriesSort.md b/docs/Models/Components/JournalEntriesSort.md new file mode 100644 index 00000000..05f9b3c7 --- /dev/null +++ b/docs/Models/Components/JournalEntriesSort.md @@ -0,0 +1,9 @@ +# JournalEntriesSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `By` | [JournalEntriesSortBy](../../Models/Components/JournalEntriesSortBy.md) | :heavy_minus_sign: | The field on which to sort the Journal Entries. | updated_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/JournalEntriesSortBy.md b/docs/Models/Components/JournalEntriesSortBy.md new file mode 100644 index 00000000..9c3e8bf1 --- /dev/null +++ b/docs/Models/Components/JournalEntriesSortBy.md @@ -0,0 +1,11 @@ +# JournalEntriesSortBy + +The field on which to sort the Journal Entries. + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | \ No newline at end of file diff --git a/docs/Models/Components/JournalEntry.md b/docs/Models/Components/JournalEntry.md new file mode 100644 index 00000000..cec0b97e --- /dev/null +++ b/docs/Models/Components/JournalEntry.md @@ -0,0 +1,28 @@ +# JournalEntry + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Title` | *string* | :heavy_minus_sign: | Journal entry title | Purchase Invoice-Inventory (USD): 2019/02/01 Batch Summary Entry | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `LineItems` | List<[JournalEntryLineItem](../../Models/Components/JournalEntryLineItem.md)> | :heavy_minus_sign: | Requires a minimum of 2 line items that sum to 0 | | +| `Memo` | *string* | :heavy_minus_sign: | Reference for the journal entry. | Thank you for your business and have a great day! | +| `PostedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | This is the date on which the journal entry was added. This can be different from the creation date and can also be backdated. | 2020-09-30T07:43:32.000Z | +| `JournalSymbol` | *string* | :heavy_minus_sign: | Journal symbol of the entry. For example IND for indirect costs | IND | +| `TaxType` | *string* | :heavy_minus_sign: | The specific category of tax associated with a transaction like sales or purchase | sales | +| `TaxCode` | *string* | :heavy_minus_sign: | Applicable tax id/code override if tax is not supplied on a line item basis. | 1234 | +| `Number` | *string* | :heavy_minus_sign: | Journal entry number. | OIT00546 | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `AccountingPeriod` | *string* | :heavy_minus_sign: | Accounting period | 01-24 | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/JournalEntryInput.md b/docs/Models/Components/JournalEntryInput.md new file mode 100644 index 00000000..bf538277 --- /dev/null +++ b/docs/Models/Components/JournalEntryInput.md @@ -0,0 +1,22 @@ +# JournalEntryInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Title` | *string* | :heavy_minus_sign: | Journal entry title | Purchase Invoice-Inventory (USD): 2019/02/01 Batch Summary Entry | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `LineItems` | List<[JournalEntryLineItemInput](../../Models/Components/JournalEntryLineItemInput.md)> | :heavy_minus_sign: | Requires a minimum of 2 line items that sum to 0 | | +| `Memo` | *string* | :heavy_minus_sign: | Reference for the journal entry. | Thank you for your business and have a great day! | +| `PostedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | This is the date on which the journal entry was added. This can be different from the creation date and can also be backdated. | 2020-09-30T07:43:32.000Z | +| `JournalSymbol` | *string* | :heavy_minus_sign: | Journal symbol of the entry. For example IND for indirect costs | IND | +| `TaxType` | *string* | :heavy_minus_sign: | The specific category of tax associated with a transaction like sales or purchase | sales | +| `TaxCode` | *string* | :heavy_minus_sign: | Applicable tax id/code override if tax is not supplied on a line item basis. | 1234 | +| `Number` | *string* | :heavy_minus_sign: | Journal entry number. | OIT00546 | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `AccountingPeriod` | *string* | :heavy_minus_sign: | Accounting period | 01-24 | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/JournalEntryLineItem.md b/docs/Models/Components/JournalEntryLineItem.md new file mode 100644 index 00000000..320af3ff --- /dev/null +++ b/docs/Models/Components/JournalEntryLineItem.md @@ -0,0 +1,22 @@ +# JournalEntryLineItem + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Description` | *string* | :heavy_minus_sign: | User defined description | Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection. | +| `TaxAmount` | *double* | :heavy_minus_sign: | Tax amount | 27500 | +| `SubTotal` | *double* | :heavy_minus_sign: | Sub-total amount, normally before tax. | 27500 | +| `TotalAmount` | *double* | :heavy_minus_sign: | Debit entries are considered positive, and credit entries are considered negative. | 27500 | +| `Type` | [JournalEntryLineItemType](../../Models/Components/JournalEntryLineItemType.md) | :heavy_check_mark: | Debit entries are considered positive, and credit entries are considered negative. | debit | +| `TaxRate` | [LinkedTaxRate](../../Models/Components/LinkedTaxRate.md) | :heavy_minus_sign: | N/A | | +| ~~`TrackingCategory`~~ | [DeprecatedLinkedTrackingCategory](../../Models/Components/DeprecatedLinkedTrackingCategory.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `LedgerAccount` | [LinkedLedgerAccount](../../Models/Components/LinkedLedgerAccount.md) | :heavy_check_mark: | N/A | | +| `Customer` | [LinkedCustomer](../../Models/Components/LinkedCustomer.md) | :heavy_minus_sign: | The customer this entity is linked to. | | +| `Supplier` | [LinkedSupplier](../../Models/Components/LinkedSupplier.md) | :heavy_minus_sign: | The supplier this entity is linked to. | | +| `DepartmentId` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `LocationId` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `LineNumber` | *long* | :heavy_minus_sign: | Line number of the resource | 1 | \ No newline at end of file diff --git a/docs/Models/Components/JournalEntryLineItemInput.md b/docs/Models/Components/JournalEntryLineItemInput.md new file mode 100644 index 00000000..fa532db1 --- /dev/null +++ b/docs/Models/Components/JournalEntryLineItemInput.md @@ -0,0 +1,19 @@ +# JournalEntryLineItemInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `Description` | *string* | :heavy_minus_sign: | User defined description | Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection. | +| `TaxAmount` | *double* | :heavy_minus_sign: | Tax amount | 27500 | +| `SubTotal` | *double* | :heavy_minus_sign: | Sub-total amount, normally before tax. | 27500 | +| `TotalAmount` | *double* | :heavy_minus_sign: | Debit entries are considered positive, and credit entries are considered negative. | 27500 | +| `Type` | [JournalEntryLineItemType](../../Models/Components/JournalEntryLineItemType.md) | :heavy_check_mark: | Debit entries are considered positive, and credit entries are considered negative. | debit | +| `TaxRate` | [LinkedTaxRateInput](../../Models/Components/LinkedTaxRateInput.md) | :heavy_minus_sign: | N/A | | +| ~~`TrackingCategory`~~ | [DeprecatedLinkedTrackingCategory](../../Models/Components/DeprecatedLinkedTrackingCategory.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `LedgerAccount` | [LinkedLedgerAccountInput](../../Models/Components/LinkedLedgerAccountInput.md) | :heavy_check_mark: | N/A | | +| `Customer` | [LinkedCustomerInput](../../Models/Components/LinkedCustomerInput.md) | :heavy_minus_sign: | The customer this entity is linked to. | | +| `Supplier` | [LinkedSupplierInput](../../Models/Components/LinkedSupplierInput.md) | :heavy_minus_sign: | The supplier this entity is linked to. | | +| `LineNumber` | *long* | :heavy_minus_sign: | Line number of the resource | 1 | \ No newline at end of file diff --git a/docs/Models/Components/JournalEntryLineItemType.md b/docs/Models/Components/JournalEntryLineItemType.md new file mode 100644 index 00000000..3d0fe48d --- /dev/null +++ b/docs/Models/Components/JournalEntryLineItemType.md @@ -0,0 +1,11 @@ +# JournalEntryLineItemType + +Debit entries are considered positive, and credit entries are considered negative. + + +## Values + +| Name | Value | +| -------- | -------- | +| `Debit` | debit | +| `Credit` | credit | \ No newline at end of file diff --git a/docs/Models/Components/Lead.md b/docs/Models/Components/Lead.md new file mode 100644 index 00000000..b2b280e3 --- /dev/null +++ b/docs/Models/Components/Lead.md @@ -0,0 +1,36 @@ +# Lead + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | Unique identifier for the contact. | 12345 | +| `Name` | *string* | :heavy_check_mark: | Full name of the lead. | Elon Musk | +| `CompanyName` | *string* | :heavy_check_mark: | The name of the company the lead is associated with. | Spacex | +| `OwnerId` | *string* | :heavy_minus_sign: | The owner of the lead. | 54321 | +| `OwnerName` | *string* | :heavy_minus_sign: | The name of the owner of the lead. | John Doe | +| `CompanyId` | *string* | :heavy_minus_sign: | The company the lead is associated with. | 2 | +| `LeadId` | *string* | :heavy_minus_sign: | The identifier of the lead. | 2 | +| `LeadSource` | *string* | :heavy_minus_sign: | The source of the lead. | Cold Call | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the lead. | Elon | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the lead. | Musk | +| `Description` | *string* | :heavy_minus_sign: | The description of the lead. | A thinker | +| `Prefix` | *string* | :heavy_minus_sign: | The prefix of the lead. | Sir | +| `Title` | *string* | :heavy_minus_sign: | The job title of the lead. | CEO | +| `Language` | *string* | :heavy_minus_sign: | language code according to ISO 639-1. For the United States - EN | EN | +| `Status` | *string* | :heavy_minus_sign: | N/A | New | +| `MonetaryAmount` | *double* | :heavy_minus_sign: | The monetary amount of the lead. | 75000 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Fax` | *string* | :heavy_minus_sign: | The fax number of the lead. | +12129876543 | +| `Websites` | List<[Website](../../Models/Components/Website.md)> | :heavy_minus_sign: | N/A | | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `SocialLinks` | List<[SocialLink](../../Models/Components/SocialLink.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `Tags` | List<*string*> | :heavy_minus_sign: | N/A | [
"New"
] | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedAt` | *string* | :heavy_minus_sign: | Date updated in ISO 8601 format | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | *string* | :heavy_minus_sign: | Date created in ISO 8601 format | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/LeadInput.md b/docs/Models/Components/LeadInput.md new file mode 100644 index 00000000..ccc069d5 --- /dev/null +++ b/docs/Models/Components/LeadInput.md @@ -0,0 +1,32 @@ +# LeadInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_check_mark: | Full name of the lead. | Elon Musk | +| `CompanyName` | *string* | :heavy_check_mark: | The name of the company the lead is associated with. | Spacex | +| `OwnerId` | *string* | :heavy_minus_sign: | The owner of the lead. | 54321 | +| `OwnerName` | *string* | :heavy_minus_sign: | The name of the owner of the lead. | John Doe | +| `CompanyId` | *string* | :heavy_minus_sign: | The company the lead is associated with. | 2 | +| `LeadId` | *string* | :heavy_minus_sign: | The identifier of the lead. | 2 | +| `LeadSource` | *string* | :heavy_minus_sign: | The source of the lead. | Cold Call | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the lead. | Elon | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the lead. | Musk | +| `Description` | *string* | :heavy_minus_sign: | The description of the lead. | A thinker | +| `Prefix` | *string* | :heavy_minus_sign: | The prefix of the lead. | Sir | +| `Title` | *string* | :heavy_minus_sign: | The job title of the lead. | CEO | +| `Language` | *string* | :heavy_minus_sign: | language code according to ISO 639-1. For the United States - EN | EN | +| `Status` | *string* | :heavy_minus_sign: | N/A | New | +| `MonetaryAmount` | *double* | :heavy_minus_sign: | The monetary amount of the lead. | 75000 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Fax` | *string* | :heavy_minus_sign: | The fax number of the lead. | +12129876543 | +| `Websites` | List<[Website](../../Models/Components/Website.md)> | :heavy_minus_sign: | N/A | | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `SocialLinks` | List<[SocialLink](../../Models/Components/SocialLink.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `Tags` | List<*string*> | :heavy_minus_sign: | N/A | [
"New"
] | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/LeadsFilter.md b/docs/Models/Components/LeadsFilter.md new file mode 100644 index 00000000..ccfcdab1 --- /dev/null +++ b/docs/Models/Components/LeadsFilter.md @@ -0,0 +1,12 @@ +# LeadsFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | +| `Name` | *string* | :heavy_minus_sign: | Name of the lead to filter on | Elon Musk | +| `FirstName` | *string* | :heavy_minus_sign: | First name of the lead to filter on | Elon | +| `LastName` | *string* | :heavy_minus_sign: | Last name of the lead to filter on | Musk | +| `Email` | *string* | :heavy_minus_sign: | E-mail of the lead to filter on | elon@tesla.com | +| `PhoneNumber` | *string* | :heavy_minus_sign: | Phone number of the lead to filter on | 1234567890 | \ No newline at end of file diff --git a/docs/Models/Components/LeadsSort.md b/docs/Models/Components/LeadsSort.md new file mode 100644 index 00000000..5a874d4a --- /dev/null +++ b/docs/Models/Components/LeadsSort.md @@ -0,0 +1,9 @@ +# LeadsSort + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `By` | [LeadsSortBy](../../Models/Components/LeadsSortBy.md) | :heavy_minus_sign: | The field on which to sort the Leads | created_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/LeadsSortBy.md b/docs/Models/Components/LeadsSortBy.md new file mode 100644 index 00000000..0be326b9 --- /dev/null +++ b/docs/Models/Components/LeadsSortBy.md @@ -0,0 +1,15 @@ +# LeadsSortBy + +The field on which to sort the Leads + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | +| `Name` | name | +| `FirstName` | first_name | +| `LastName` | last_name | +| `Email` | email | \ No newline at end of file diff --git a/docs/Models/Components/LeavingReason.md b/docs/Models/Components/LeavingReason.md new file mode 100644 index 00000000..6ea3d6ea --- /dev/null +++ b/docs/Models/Components/LeavingReason.md @@ -0,0 +1,13 @@ +# LeavingReason + +The reason because the employment ended. + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Dismissed` | dismissed | +| `Resigned` | resigned | +| `Redundancy` | redundancy | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/LedgerAccount.md b/docs/Models/Components/LedgerAccount.md new file mode 100644 index 00000000..a6cb39e6 --- /dev/null +++ b/docs/Models/Components/LedgerAccount.md @@ -0,0 +1,40 @@ +# LedgerAccount + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `DisplayId` | *string* | :heavy_minus_sign: | The human readable display ID used when displaying the account | 1-12345 | +| ~~`NominalCode`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

The nominal code of the ledger account. | N091 | +| `Code` | *string* | :heavy_minus_sign: | The code assigned to the account. | 453 | +| `Classification` | [Classification](../../Models/Components/Classification.md) | :heavy_minus_sign: | The classification of account. | asset | +| `Type` | [LedgerAccountType](../../Models/Components/LedgerAccountType.md) | :heavy_minus_sign: | The type of account. | bank | +| `SubType` | *string* | :heavy_minus_sign: | The sub type of account. | CHECKING_ACCOUNT | +| `Name` | *string* | :heavy_minus_sign: | The name of the account. | Bank account | +| `FullyQualifiedName` | *string* | :heavy_minus_sign: | The fully qualified name of the account. | Asset.Bank.Checking_Account | +| `Description` | *string* | :heavy_minus_sign: | The description of the account. | Main checking account | +| `OpeningBalance` | *double* | :heavy_minus_sign: | The opening balance of the account. | 75000 | +| `CurrentBalance` | *double* | :heavy_minus_sign: | The current balance of the account. | 20000 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `TaxType` | *string* | :heavy_minus_sign: | The tax type of the account. | NONE | +| `TaxRate` | [LinkedTaxRate](../../Models/Components/LinkedTaxRate.md) | :heavy_minus_sign: | N/A | | +| `Level` | *double* | :heavy_minus_sign: | N/A | 1 | +| `Active` | *bool* | :heavy_minus_sign: | Whether the account is active or not. | true | +| `Status` | [AccountStatus](../../Models/Components/AccountStatus.md) | :heavy_minus_sign: | The status of the account. | active | +| `Header` | *bool* | :heavy_minus_sign: | Whether the account is a header or not. | true | +| `BankAccount` | [BankAccount](../../Models/Components/BankAccount.md) | :heavy_minus_sign: | N/A | | +| `Categories` | List<[Categories](../../Models/Components/Categories.md)> | :heavy_minus_sign: | The categories of the account. | | +| `ParentAccount` | [ParentAccount](../../Models/Components/ParentAccount.md) | :heavy_minus_sign: | N/A | | +| `SubAccount` | *bool* | :heavy_minus_sign: | Whether the account is a sub account or not. | false | +| `SubAccounts` | List<[SubAccounts](../../Models/Components/SubAccounts.md)> | :heavy_minus_sign: | The sub accounts of the account. | | +| `LastReconciliationDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | Reconciliation Date means the last calendar day of each Reconciliation Period. | 2020-09-30 | +| `Subsidiaries` | List<[Models.Components.Subsidiaries](../../Models/Components/Subsidiaries.md)> | :heavy_minus_sign: | The subsidiaries the account belongs to. | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/LedgerAccountInput.md b/docs/Models/Components/LedgerAccountInput.md new file mode 100644 index 00000000..9547224b --- /dev/null +++ b/docs/Models/Components/LedgerAccountInput.md @@ -0,0 +1,32 @@ +# LedgerAccountInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `DisplayId` | *string* | :heavy_minus_sign: | The human readable display ID used when displaying the account | 1-12345 | +| ~~`NominalCode`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

The nominal code of the ledger account. | N091 | +| `Code` | *string* | :heavy_minus_sign: | The code assigned to the account. | 453 | +| `Classification` | [Classification](../../Models/Components/Classification.md) | :heavy_minus_sign: | The classification of account. | asset | +| `Type` | [LedgerAccountType](../../Models/Components/LedgerAccountType.md) | :heavy_minus_sign: | The type of account. | bank | +| `SubType` | *string* | :heavy_minus_sign: | The sub type of account. | CHECKING_ACCOUNT | +| `Name` | *string* | :heavy_minus_sign: | The name of the account. | Bank account | +| `FullyQualifiedName` | *string* | :heavy_minus_sign: | The fully qualified name of the account. | Asset.Bank.Checking_Account | +| `Description` | *string* | :heavy_minus_sign: | The description of the account. | Main checking account | +| `OpeningBalance` | *double* | :heavy_minus_sign: | The opening balance of the account. | 75000 | +| `CurrentBalance` | *double* | :heavy_minus_sign: | The current balance of the account. | 20000 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `TaxType` | *string* | :heavy_minus_sign: | The tax type of the account. | NONE | +| `TaxRate` | [LinkedTaxRateInput](../../Models/Components/LinkedTaxRateInput.md) | :heavy_minus_sign: | N/A | | +| `Level` | *double* | :heavy_minus_sign: | N/A | 1 | +| `Active` | *bool* | :heavy_minus_sign: | Whether the account is active or not. | true | +| `Status` | [AccountStatus](../../Models/Components/AccountStatus.md) | :heavy_minus_sign: | The status of the account. | active | +| `Header` | *bool* | :heavy_minus_sign: | Whether the account is a header or not. | true | +| `BankAccount` | [BankAccount](../../Models/Components/BankAccount.md) | :heavy_minus_sign: | N/A | | +| `ParentAccount` | [ParentAccount](../../Models/Components/ParentAccount.md) | :heavy_minus_sign: | N/A | | +| `SubAccount` | *bool* | :heavy_minus_sign: | Whether the account is a sub account or not. | false | +| `LastReconciliationDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | Reconciliation Date means the last calendar day of each Reconciliation Period. | 2020-09-30 | +| `Subsidiaries` | List<[Models.Components.Subsidiaries](../../Models/Components/Subsidiaries.md)> | :heavy_minus_sign: | The subsidiaries the account belongs to. | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/LedgerAccountType.md b/docs/Models/Components/LedgerAccountType.md new file mode 100644 index 00000000..c91ad185 --- /dev/null +++ b/docs/Models/Components/LedgerAccountType.md @@ -0,0 +1,29 @@ +# LedgerAccountType + +The type of account. + + +## Values + +| Name | Value | +| --------------------- | --------------------- | +| `AccountsReceivable` | accounts_receivable | +| `Revenue` | revenue | +| `Sales` | sales | +| `OtherIncome` | other_income | +| `Bank` | bank | +| `CurrentAsset` | current_asset | +| `FixedAsset` | fixed_asset | +| `NonCurrentAsset` | non_current_asset | +| `OtherAsset` | other_asset | +| `Balancesheet` | balancesheet | +| `Equity` | equity | +| `Expense` | expense | +| `OtherExpense` | other_expense | +| `CostsOfSales` | costs_of_sales | +| `AccountsPayable` | accounts_payable | +| `CreditCard` | credit_card | +| `CurrentLiability` | current_liability | +| `NonCurrentLiability` | non_current_liability | +| `OtherLiability` | other_liability | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/LedgerAccountsFilter.md b/docs/Models/Components/LedgerAccountsFilter.md new file mode 100644 index 00000000..46d434ed --- /dev/null +++ b/docs/Models/Components/LedgerAccountsFilter.md @@ -0,0 +1,8 @@ +# LedgerAccountsFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `UpdatedSince` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/LedgerAccountsSort.md b/docs/Models/Components/LedgerAccountsSort.md new file mode 100644 index 00000000..456403bd --- /dev/null +++ b/docs/Models/Components/LedgerAccountsSort.md @@ -0,0 +1,9 @@ +# LedgerAccountsSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `By` | [LedgerAccountsSortBy](../../Models/Components/LedgerAccountsSortBy.md) | :heavy_minus_sign: | The field on which to sort the Ledger Accounts | updated_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/LedgerAccountsSortBy.md b/docs/Models/Components/LedgerAccountsSortBy.md new file mode 100644 index 00000000..a0e1233f --- /dev/null +++ b/docs/Models/Components/LedgerAccountsSortBy.md @@ -0,0 +1,11 @@ +# LedgerAccountsSortBy + +The field on which to sort the Ledger Accounts + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | \ No newline at end of file diff --git a/docs/Models/Components/LinkedConnectorResource.md b/docs/Models/Components/LinkedConnectorResource.md new file mode 100644 index 00000000..d0facae6 --- /dev/null +++ b/docs/Models/Components/LinkedConnectorResource.md @@ -0,0 +1,12 @@ +# LinkedConnectorResource + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | ID of the resource, typically a lowercased version of name. | companies | +| `Name` | *string* | :heavy_minus_sign: | Name of the resource (plural) | Companies | +| `Status` | [ResourceStatus](../../Models/Components/ResourceStatus.md) | :heavy_minus_sign: | Status of the resource. Resources with status live or beta are callable. | | +| `DownstreamId` | *string* | :heavy_minus_sign: | ID of the resource in the Connector's API (downstream) | accounts | +| `DownstreamName` | *string* | :heavy_minus_sign: | Name of the resource in the Connector's API (downstream) | Accounts | \ No newline at end of file diff --git a/docs/Models/Components/LinkedCustomer.md b/docs/Models/Components/LinkedCustomer.md new file mode 100644 index 00000000..14329803 --- /dev/null +++ b/docs/Models/Components/LinkedCustomer.md @@ -0,0 +1,15 @@ +# LinkedCustomer + +The customer this entity is linked to. + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The ID of the customer this entity is linked to. | 12345 | +| `DisplayId` | *string* | :heavy_minus_sign: | The display ID of the customer. | CUST00101 | +| `DisplayName` | *string* | :heavy_minus_sign: | The display name of the customer. | Windsurf Shop | +| ~~`Name`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

The name of the customer. Deprecated, use display_name instead. | Windsurf Shop | +| `CompanyName` | *string* | :heavy_minus_sign: | The company name of the customer. | The boring company | +| `Email` | *string* | :heavy_minus_sign: | The email address of the customer. | boring@boring.com | \ No newline at end of file diff --git a/docs/Models/Components/LinkedCustomerInput.md b/docs/Models/Components/LinkedCustomerInput.md new file mode 100644 index 00000000..ea4db424 --- /dev/null +++ b/docs/Models/Components/LinkedCustomerInput.md @@ -0,0 +1,13 @@ +# LinkedCustomerInput + +The customer this entity is linked to. + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The ID of the customer this entity is linked to. | 12345 | +| `DisplayName` | *string* | :heavy_minus_sign: | The display name of the customer. | Windsurf Shop | +| ~~`Name`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

The name of the customer. Deprecated, use display_name instead. | Windsurf Shop | +| `Email` | *string* | :heavy_minus_sign: | The email address of the customer. | boring@boring.com | \ No newline at end of file diff --git a/docs/Models/Components/LinkedEcommerceCustomer.md b/docs/Models/Components/LinkedEcommerceCustomer.md new file mode 100644 index 00000000..102d2af8 --- /dev/null +++ b/docs/Models/Components/LinkedEcommerceCustomer.md @@ -0,0 +1,16 @@ +# LinkedEcommerceCustomer + +The customer this entity is linked to. + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | The ID of the customer this entity is linked to. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | Full name of the customer | John Doe | +| `FirstName` | *string* | :heavy_minus_sign: | First name of the customer | John | +| `LastName` | *string* | :heavy_minus_sign: | Last name of the customer | Doe | +| `CompanyName` | *string* | :heavy_minus_sign: | Company name of the customer | Acme Inc. | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/LinkedEcommerceOrder.md b/docs/Models/Components/LinkedEcommerceOrder.md new file mode 100644 index 00000000..6442e477 --- /dev/null +++ b/docs/Models/Components/LinkedEcommerceOrder.md @@ -0,0 +1,12 @@ +# LinkedEcommerceOrder + +The order this entity is linked to. + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Total` | *string* | :heavy_minus_sign: | The total amount of the order. | 199.99 | +| `Status` | [EcommerceOrderStatus](../../Models/Components/EcommerceOrderStatus.md) | :heavy_minus_sign: | Current status of the order. | active | \ No newline at end of file diff --git a/docs/Models/Components/LinkedFolder.md b/docs/Models/Components/LinkedFolder.md new file mode 100644 index 00000000..9ec3cb7b --- /dev/null +++ b/docs/Models/Components/LinkedFolder.md @@ -0,0 +1,9 @@ +# LinkedFolder + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the folder | Personal | \ No newline at end of file diff --git a/docs/Models/Components/LinkedInvoiceItem.md b/docs/Models/Components/LinkedInvoiceItem.md new file mode 100644 index 00000000..29fa0187 --- /dev/null +++ b/docs/Models/Components/LinkedInvoiceItem.md @@ -0,0 +1,10 @@ +# LinkedInvoiceItem + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | ID of the linked item. A reference to the [invoice item](https://developers.apideck.com/apis/accounting/reference#tag/Invoice-Items) that was used to create this line item | 12344 | +| `Code` | *string* | :heavy_minus_sign: | User defined item code | 120-C | +| `Name` | *string* | :heavy_minus_sign: | User defined item name | Model Y | \ No newline at end of file diff --git a/docs/Models/Components/LinkedLedgerAccount.md b/docs/Models/Components/LinkedLedgerAccount.md new file mode 100644 index 00000000..171080ed --- /dev/null +++ b/docs/Models/Components/LinkedLedgerAccount.md @@ -0,0 +1,11 @@ +# LinkedLedgerAccount + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The unique identifier for the account. | 123456 | +| `Name` | *string* | :heavy_minus_sign: | The name of the account. | Bank account | +| `NominalCode` | *string* | :heavy_minus_sign: | The nominal code of the account. | N091 | +| `Code` | *string* | :heavy_minus_sign: | The code assigned to the account. | 453 | \ No newline at end of file diff --git a/docs/Models/Components/LinkedLedgerAccountInput.md b/docs/Models/Components/LinkedLedgerAccountInput.md new file mode 100644 index 00000000..350be959 --- /dev/null +++ b/docs/Models/Components/LinkedLedgerAccountInput.md @@ -0,0 +1,10 @@ +# LinkedLedgerAccountInput + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The unique identifier for the account. | 123456 | +| `NominalCode` | *string* | :heavy_minus_sign: | The nominal code of the account. | N091 | +| `Code` | *string* | :heavy_minus_sign: | The code assigned to the account. | 453 | \ No newline at end of file diff --git a/docs/Models/Components/LinkedParentCustomer.md b/docs/Models/Components/LinkedParentCustomer.md new file mode 100644 index 00000000..2e098a7d --- /dev/null +++ b/docs/Models/Components/LinkedParentCustomer.md @@ -0,0 +1,11 @@ +# LinkedParentCustomer + +The parent customer this entity is linked to. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | The parent ID of the customer this entity is linked to. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the parent customer. | Windsurf Shop | \ No newline at end of file diff --git a/docs/Models/Components/LinkedResources.md b/docs/Models/Components/LinkedResources.md new file mode 100644 index 00000000..d1edc289 --- /dev/null +++ b/docs/Models/Components/LinkedResources.md @@ -0,0 +1,9 @@ +# LinkedResources + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | ID of the resource, typically a lowercased version of name. | companies | +| `UnifiedProperty` | *string* | :heavy_minus_sign: | Name of the property in our Unified API. | owner_id | \ No newline at end of file diff --git a/docs/Models/Components/LinkedSupplier.md b/docs/Models/Components/LinkedSupplier.md new file mode 100644 index 00000000..19e28b6e --- /dev/null +++ b/docs/Models/Components/LinkedSupplier.md @@ -0,0 +1,14 @@ +# LinkedSupplier + +The supplier this entity is linked to. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | The ID of the supplier this entity is linked to. | 12345 | +| `DisplayId` | *string* | :heavy_minus_sign: | The display ID of the supplier. | SUPP00101 | +| `DisplayName` | *string* | :heavy_minus_sign: | The display name of the supplier. | Windsurf Shop | +| `CompanyName` | *string* | :heavy_minus_sign: | The company name of the supplier. | The boring company | +| `Address` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/LinkedSupplierInput.md b/docs/Models/Components/LinkedSupplierInput.md new file mode 100644 index 00000000..5c8de3b9 --- /dev/null +++ b/docs/Models/Components/LinkedSupplierInput.md @@ -0,0 +1,12 @@ +# LinkedSupplierInput + +The supplier this entity is linked to. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | The ID of the supplier this entity is linked to. | 12345 | +| `DisplayName` | *string* | :heavy_minus_sign: | The display name of the supplier. | Windsurf Shop | +| `Address` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/LinkedTaxRate.md b/docs/Models/Components/LinkedTaxRate.md new file mode 100644 index 00000000..e2b5516c --- /dev/null +++ b/docs/Models/Components/LinkedTaxRate.md @@ -0,0 +1,11 @@ +# LinkedTaxRate + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | +| `Id` | *string* | :heavy_minus_sign: | The ID of the object. | 123456 | +| `Code` | *string* | :heavy_minus_sign: | Tax rate code | N-T | +| `Name` | *string* | :heavy_minus_sign: | Name of the tax rate | GST on Purchases | +| `Rate` | *double* | :heavy_minus_sign: | Rate of the tax rate | 10 | \ No newline at end of file diff --git a/docs/Models/Components/LinkedTaxRateInput.md b/docs/Models/Components/LinkedTaxRateInput.md new file mode 100644 index 00000000..08bab1bf --- /dev/null +++ b/docs/Models/Components/LinkedTaxRateInput.md @@ -0,0 +1,9 @@ +# LinkedTaxRateInput + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | +| `Id` | *string* | :heavy_minus_sign: | The ID of the object. | 123456 | +| `Rate` | *double* | :heavy_minus_sign: | Rate of the tax rate | 10 | \ No newline at end of file diff --git a/docs/Models/Components/LinkedTrackingCategory.md b/docs/Models/Components/LinkedTrackingCategory.md new file mode 100644 index 00000000..359923db --- /dev/null +++ b/docs/Models/Components/LinkedTrackingCategory.md @@ -0,0 +1,9 @@ +# LinkedTrackingCategory + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | The unique identifier for the tracking category. | 123456 | +| `Name` | *string* | :heavy_minus_sign: | The name of the tracking category. | New York | \ No newline at end of file diff --git a/docs/Models/Components/Links.md b/docs/Models/Components/Links.md new file mode 100644 index 00000000..18d7b070 --- /dev/null +++ b/docs/Models/Components/Links.md @@ -0,0 +1,12 @@ +# Links + +Links to navigate to previous or next pages through the API + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `Previous` | *string* | :heavy_minus_sign: | Link to navigate to the previous page through the API | https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D | +| `Current` | *string* | :heavy_minus_sign: | Link to navigate to the current page through the API | https://unify.apideck.com/crm/companies | +| `Next` | *string* | :heavy_minus_sign: | Link to navigate to the previous page through the API | https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM | \ No newline at end of file diff --git a/docs/Models/Components/LocationStatus.md b/docs/Models/Components/LocationStatus.md new file mode 100644 index 00000000..fec67348 --- /dev/null +++ b/docs/Models/Components/LocationStatus.md @@ -0,0 +1,11 @@ +# LocationStatus + +Based on the status some functionality is enabled or disabled. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Active` | active | +| `Inactive` | inactive | \ No newline at end of file diff --git a/docs/Models/Components/Log.md b/docs/Models/Components/Log.md new file mode 100644 index 00000000..54dee088 --- /dev/null +++ b/docs/Models/Components/Log.md @@ -0,0 +1,28 @@ +# Log + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `ApiStyle` | *string* | :heavy_check_mark: | Indicates if the request was made via REST or Graphql endpoint. | REST | +| `BaseUrl` | *string* | :heavy_check_mark: | The Apideck base URL the request was made to. | unify.apideck.com | +| `ChildRequest` | *bool* | :heavy_check_mark: | Indicates whether or not this is a child or parent request. | false | +| `ConsumerId` | *string* | :heavy_check_mark: | The consumer Id associated with the request. | test-consumer | +| `Duration` | *double* | :heavy_check_mark: | The entire execution time in milliseconds it took to call the Apideck service provider. | 2220.379304 | +| `ErrorMessage` | *string* | :heavy_minus_sign: | If error occurred, this is brief explanation | Refresh token is invalid | +| `Execution` | *long* | :heavy_check_mark: | The entire execution time in milliseconds it took to make the request. | 2248 | +| `HasChildren` | *bool* | :heavy_check_mark: | When request is a parent request, this indicates if there are child requests associated. | false | +| `HttpMethod` | *string* | :heavy_check_mark: | HTTP Method of request. | GET | +| `Id` | *string* | :heavy_check_mark: | UUID acting as Request Identifier. | 0b5f7480-5550-4f5c-a5fc-3c01ac43dd0f | +| `Latency` | *double* | :heavy_check_mark: | Latency added by making this request via Unified Api. | 27.620695999999953 | +| `Operation` | [Operation](../../Models/Components/Operation.md) | :heavy_check_mark: | The request as defined in OpenApi Spec. | | +| `ParentId` | *string* | :heavy_check_mark: | When request is a child request, this UUID indicates it's parent request. | 0b5f7480-5550-4f5c-a5fc-3c01ac43dd0f | +| `Path` | *string* | :heavy_check_mark: | The path component of the URI the request was made to. | /vault/connections | +| `Sandbox` | *bool* | :heavy_check_mark: | Indicates whether the request was made using Apidecks sandbox credentials or not. | false | +| `Service` | [Service](../../Models/Components/Service.md) | :heavy_check_mark: | Apideck service provider associated with request. | | +| `SourceIp` | *string* | :heavy_minus_sign: | The IP address of the source of the request. | 94.227.131.238 | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Status code that was returned. | 200 | +| `Success` | *bool* | :heavy_check_mark: | Whether or not the request was successful. | true | +| `Timestamp` | *string* | :heavy_check_mark: | ISO Date and time when the request was made. | 2021-07-12T14:26:17.420Z | +| `UnifiedApi` | [UnifiedApi](../../Models/Components/UnifiedApi.md) | :heavy_check_mark: | Which Unified Api request was made to. | vault | \ No newline at end of file diff --git a/docs/Models/Components/LogsFilter.md b/docs/Models/Components/LogsFilter.md new file mode 100644 index 00000000..7caf5b67 --- /dev/null +++ b/docs/Models/Components/LogsFilter.md @@ -0,0 +1,10 @@ +# LogsFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | +| `ConnectorId` | *string* | :heavy_minus_sign: | N/A | crm+salesforce | +| `StatusCode` | *double* | :heavy_minus_sign: | N/A | 201 | +| `ExcludeUnifiedApis` | *string* | :heavy_minus_sign: | N/A | vault,proxy | \ No newline at end of file diff --git a/docs/Models/Components/ManagedVia.md b/docs/Models/Components/ManagedVia.md new file mode 100644 index 00000000..c9fbcde6 --- /dev/null +++ b/docs/Models/Components/ManagedVia.md @@ -0,0 +1,11 @@ +# ManagedVia + +How the subscription is managed in the downstream. + + +## Values + +| Name | Value | +| -------- | -------- | +| `Manual` | manual | +| `Api` | api | \ No newline at end of file diff --git a/docs/Models/Components/Manager.md b/docs/Models/Components/Manager.md new file mode 100644 index 00000000..d8689eac --- /dev/null +++ b/docs/Models/Components/Manager.md @@ -0,0 +1,13 @@ +# Manager + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the manager, often a combination of their first and last names. | Elon Musk | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the person. | Elon | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the person. | Musk | +| `Email` | *string* | :heavy_minus_sign: | The email address of the manager. | elon@musk.com | +| `EmploymentStatus` | [EmploymentStatus](../../Models/Components/EmploymentStatus.md) | :heavy_minus_sign: | The employment status of the employee, indicating whether they are currently employed, inactive, terminated, or in another status. | active | \ No newline at end of file diff --git a/docs/Models/Components/Message.md b/docs/Models/Components/Message.md new file mode 100644 index 00000000..66b70035 --- /dev/null +++ b/docs/Models/Components/Message.md @@ -0,0 +1,30 @@ +# Message + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `From` | *string* | :heavy_check_mark: | The phone number that initiated the message. | +15017122661 | +| `To` | *string* | :heavy_check_mark: | The phone number that received the message. | +15017122662 | +| `Subject` | *string* | :heavy_minus_sign: | N/A | Picture | +| `Body` | *string* | :heavy_check_mark: | The message text. | Hi! How are you doing? | +| `Type` | [MessageType](../../Models/Components/MessageType.md) | :heavy_minus_sign: | Set to sms for SMS messages and mms for MMS messages. | sms | +| `NumberOfUnits` | *long* | :heavy_minus_sign: | The number of units that make up the complete message. Messages can be split up due to the constraints of the message size. | 1 | +| `NumberOfMediaFiles` | *long* | :heavy_minus_sign: | The number of media files associated with the message. | 1 | +| `Direction` | [Direction](../../Models/Components/Direction.md) | :heavy_minus_sign: | The direction of the message. | outbound-api | +| `Status` | [MessageStatus](../../Models/Components/MessageStatus.md) | :heavy_minus_sign: | Status of the delivery of the message. | sent | +| `ScheduledAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The scheduled date and time of the message. | 2020-09-30T07:43:32.000Z | +| `SentAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time that the message was sent | 2020-09-30T07:43:32.000Z | +| `WebhookUrl` | *string* | :heavy_minus_sign: | Define a webhook to receive delivery notifications. | https://unify.apideck.com/webhook/webhooks/eyz329dkffdl4949/x/sms | +| `Reference` | *string* | :heavy_minus_sign: | A client reference. | CUST001 | +| `Price` | [Price](../../Models/Components/Price.md) | :heavy_minus_sign: | Price of the message. | {
"per_unit": "0.01",
"total_amount": "0.01",
"currency": "USD"
} | +| `Error` | [Error](../../Models/Components/Error.md) | :heavy_minus_sign: | The error returned if your message status is failed or undelivered. | {
"code": "X1",
"message": "Something went wrong"
} | +| `MessagingServiceId` | *string* | :heavy_minus_sign: | The ID of the Messaging Service used with the message. In case of Plivo this links to the Powerpack ID. | 123456 | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/MessageInput.md b/docs/Models/Components/MessageInput.md new file mode 100644 index 00000000..7d037e00 --- /dev/null +++ b/docs/Models/Components/MessageInput.md @@ -0,0 +1,17 @@ +# MessageInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `From` | *string* | :heavy_check_mark: | The phone number that initiated the message. | +15017122661 | +| `To` | *string* | :heavy_check_mark: | The phone number that received the message. | +15017122662 | +| `Subject` | *string* | :heavy_minus_sign: | N/A | Picture | +| `Body` | *string* | :heavy_check_mark: | The message text. | Hi! How are you doing? | +| `Type` | [MessageType](../../Models/Components/MessageType.md) | :heavy_minus_sign: | Set to sms for SMS messages and mms for MMS messages. | sms | +| `ScheduledAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The scheduled date and time of the message. | 2020-09-30T07:43:32.000Z | +| `WebhookUrl` | *string* | :heavy_minus_sign: | Define a webhook to receive delivery notifications. | https://unify.apideck.com/webhook/webhooks/eyz329dkffdl4949/x/sms | +| `Reference` | *string* | :heavy_minus_sign: | A client reference. | CUST001 | +| `MessagingServiceId` | *string* | :heavy_minus_sign: | The ID of the Messaging Service used with the message. In case of Plivo this links to the Powerpack ID. | 123456 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/MessageStatus.md b/docs/Models/Components/MessageStatus.md new file mode 100644 index 00000000..e0fdcb73 --- /dev/null +++ b/docs/Models/Components/MessageStatus.md @@ -0,0 +1,21 @@ +# MessageStatus + +Status of the delivery of the message. + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `Accepted` | accepted | +| `Scheduled` | scheduled | +| `Canceled` | canceled | +| `Queued` | queued | +| `Sending` | sending | +| `Sent` | sent | +| `Failed` | failed | +| `Delivered` | delivered | +| `Undelivered` | undelivered | +| `Receiving` | receiving | +| `Received` | received | +| `Read` | read | \ No newline at end of file diff --git a/docs/Models/Components/MessageType.md b/docs/Models/Components/MessageType.md new file mode 100644 index 00000000..c3f8470c --- /dev/null +++ b/docs/Models/Components/MessageType.md @@ -0,0 +1,11 @@ +# MessageType + +Set to sms for SMS messages and mms for MMS messages. + + +## Values + +| Name | Value | +| ----- | ----- | +| `Sms` | sms | +| `Mms` | mms | \ No newline at end of file diff --git a/docs/Models/Components/Meta.md b/docs/Models/Components/Meta.md new file mode 100644 index 00000000..61db408c --- /dev/null +++ b/docs/Models/Components/Meta.md @@ -0,0 +1,11 @@ +# Meta + +Response metadata + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `ItemsOnPage` | *long* | :heavy_minus_sign: | Number of items returned in the data property of the response | 50 | +| `Cursors` | [Cursors](../../Models/Components/Cursors.md) | :heavy_minus_sign: | Cursors to navigate to previous or next pages through the API | | \ No newline at end of file diff --git a/docs/Models/Components/Mode.md b/docs/Models/Components/Mode.md new file mode 100644 index 00000000..668551a0 --- /dev/null +++ b/docs/Models/Components/Mode.md @@ -0,0 +1,12 @@ +# Mode + +Mode of the webhook support. + + +## Values + +| Name | Value | +| --------- | --------- | +| `Native` | native | +| `Virtual` | virtual | +| `None` | none | \ No newline at end of file diff --git a/docs/Models/Components/NetIncome.md b/docs/Models/Components/NetIncome.md new file mode 100644 index 00000000..06939e86 --- /dev/null +++ b/docs/Models/Components/NetIncome.md @@ -0,0 +1,9 @@ +# NetIncome + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Total` | *double* | :heavy_check_mark: | Total net income | 100000 | +| `Records` | *object* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/NetOperatingIncome.md b/docs/Models/Components/NetOperatingIncome.md new file mode 100644 index 00000000..8168b521 --- /dev/null +++ b/docs/Models/Components/NetOperatingIncome.md @@ -0,0 +1,9 @@ +# NetOperatingIncome + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `Total` | *double* | :heavy_check_mark: | Total net operating income | 100000 | +| `Records` | *object* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/Note.md b/docs/Models/Components/Note.md new file mode 100644 index 00000000..517de8a0 --- /dev/null +++ b/docs/Models/Components/Note.md @@ -0,0 +1,22 @@ +# Note + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The unique identifier of the note | 12345 | +| `Title` | *string* | :heavy_minus_sign: | The title of the note | Meeting Notes | +| `Content` | *string* | :heavy_minus_sign: | The content of the note. | Office hours are 9AM-6PM | +| `OwnerId` | *string* | :heavy_minus_sign: | The user that owns the note. | 12345 | +| `ContactId` | *string* | :heavy_minus_sign: | The contact that is related to the note. | 12345 | +| `CompanyId` | *string* | :heavy_minus_sign: | The company that is related to the note. | 12345 | +| `OpportunityId` | *string* | :heavy_minus_sign: | The opportunity that is related to the note. | 12345 | +| `LeadId` | *string* | :heavy_minus_sign: | The lead that is related to the note. | 12345 | +| `Active` | *bool* | :heavy_minus_sign: | Whether the Note is active or not. | true | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user that last updated the note. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user that created the note. | 12345 | +| `UpdatedAt` | *string* | :heavy_minus_sign: | The timestamp when the note was last updated | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | *string* | :heavy_minus_sign: | The timestamp when the note was created | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/NoteInput.md b/docs/Models/Components/NoteInput.md new file mode 100644 index 00000000..5b5ab2ec --- /dev/null +++ b/docs/Models/Components/NoteInput.md @@ -0,0 +1,16 @@ +# NoteInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Title` | *string* | :heavy_minus_sign: | The title of the note | Meeting Notes | +| `Content` | *string* | :heavy_minus_sign: | The content of the note. | Office hours are 9AM-6PM | +| `OwnerId` | *string* | :heavy_minus_sign: | The user that owns the note. | 12345 | +| `ContactId` | *string* | :heavy_minus_sign: | The contact that is related to the note. | 12345 | +| `CompanyId` | *string* | :heavy_minus_sign: | The company that is related to the note. | 12345 | +| `OpportunityId` | *string* | :heavy_minus_sign: | The opportunity that is related to the note. | 12345 | +| `LeadId` | *string* | :heavy_minus_sign: | The lead that is related to the note. | 12345 | +| `Active` | *bool* | :heavy_minus_sign: | Whether the Note is active or not. | true | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/Notes.md b/docs/Models/Components/Notes.md new file mode 100644 index 00000000..ef0cbb96 --- /dev/null +++ b/docs/Models/Components/Notes.md @@ -0,0 +1,9 @@ +# Notes + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | +| `Employee` | *string* | :heavy_minus_sign: | N/A | Relaxing on the beach for a few hours. | +| `Manager` | *string* | :heavy_minus_sign: | N/A | Enjoy! | \ No newline at end of file diff --git a/docs/Models/Components/OAuthGrantType.md b/docs/Models/Components/OAuthGrantType.md new file mode 100644 index 00000000..106c59ee --- /dev/null +++ b/docs/Models/Components/OAuthGrantType.md @@ -0,0 +1,12 @@ +# OAuthGrantType + +OAuth grant type used by the connector. More info: https://oauth.net/2/grant-types + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `AuthorizationCode` | authorization_code | +| `ClientCredentials` | client_credentials | +| `Password` | password | \ No newline at end of file diff --git a/docs/Models/Components/OauthCredentialsSource.md b/docs/Models/Components/OauthCredentialsSource.md new file mode 100644 index 00000000..50325794 --- /dev/null +++ b/docs/Models/Components/OauthCredentialsSource.md @@ -0,0 +1,11 @@ +# OauthCredentialsSource + +Location of the OAuth client credentials. For most connectors the OAuth client credentials are stored on integration and managed by the application owner. For others they are stored on connection and managed by the consumer in Vault. + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `Integration` | integration | +| `Connection` | connection | \ No newline at end of file diff --git a/docs/Models/Components/OauthScopes.md b/docs/Models/Components/OauthScopes.md new file mode 100644 index 00000000..df32c979 --- /dev/null +++ b/docs/Models/Components/OauthScopes.md @@ -0,0 +1,10 @@ +# OauthScopes + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | ID of the OAuth scope. | contacts:all | +| `Label` | *string* | :heavy_minus_sign: | Label of the OAuth scope. | Read/write on the Contacts resource | +| `DefaultApis` | List<*string*> | :heavy_minus_sign: | List of Unified APIs that request this OAuth Scope by default. Application owners can customize the requested scopes. | | \ No newline at end of file diff --git a/docs/Models/Components/OddWeeks.md b/docs/Models/Components/OddWeeks.md new file mode 100644 index 00000000..2262fad2 --- /dev/null +++ b/docs/Models/Components/OddWeeks.md @@ -0,0 +1,14 @@ +# OddWeeks + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `HoursMonday` | *double* | :heavy_minus_sign: | N/A | 8 | +| `HoursTuesday` | *double* | :heavy_minus_sign: | N/A | 8 | +| `HoursWednesday` | *double* | :heavy_minus_sign: | N/A | 4 | +| `HoursThursday` | *double* | :heavy_minus_sign: | N/A | 7.5 | +| `HoursFriday` | *double* | :heavy_minus_sign: | N/A | 4 | +| `HoursSaturday` | *double* | :heavy_minus_sign: | N/A | 0 | +| `HoursSunday` | *double* | :heavy_minus_sign: | N/A | 0 | \ No newline at end of file diff --git a/docs/Models/Components/Operation.md b/docs/Models/Components/Operation.md new file mode 100644 index 00000000..2120e67b --- /dev/null +++ b/docs/Models/Components/Operation.md @@ -0,0 +1,11 @@ +# Operation + +The request as defined in OpenApi Spec. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | +| `Id` | *string* | :heavy_check_mark: | The OpenApi Operation Id associated with the request | connectionsAll | +| `Name` | *string* | :heavy_check_mark: | The OpenApi Operation name associated with the request | Get All Connections | \ No newline at end of file diff --git a/docs/Models/Components/OpportunitiesFilter.md b/docs/Models/Components/OpportunitiesFilter.md new file mode 100644 index 00000000..255395cb --- /dev/null +++ b/docs/Models/Components/OpportunitiesFilter.md @@ -0,0 +1,14 @@ +# OpportunitiesFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | +| `Title` | *string* | :heavy_minus_sign: | Title of the opportunity to filter on | Tesla deal | +| `Status` | *string* | :heavy_minus_sign: | Status to filter on | Completed | +| `MonetaryAmount` | *double* | :heavy_minus_sign: | Monetary amount to filter on | 75000 | +| `WinProbability` | *double* | :heavy_minus_sign: | Win probability to filter on | 50 | +| `CompanyId` | *string* | :heavy_minus_sign: | Company ID to filter on | 1234 | +| `OwnerId` | *string* | :heavy_minus_sign: | Owner ID to filter on | 1234 | +| `PrimaryContactId` | *string* | :heavy_minus_sign: | Primary contact ID to filter on | 1234 | \ No newline at end of file diff --git a/docs/Models/Components/OpportunitiesSort.md b/docs/Models/Components/OpportunitiesSort.md new file mode 100644 index 00000000..a18e9af5 --- /dev/null +++ b/docs/Models/Components/OpportunitiesSort.md @@ -0,0 +1,9 @@ +# OpportunitiesSort + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | +| `By` | [OpportunitiesSortBy](../../Models/Components/OpportunitiesSortBy.md) | :heavy_minus_sign: | The field on which to sort the Opportunities | created_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/OpportunitiesSortBy.md b/docs/Models/Components/OpportunitiesSortBy.md new file mode 100644 index 00000000..9f2ebc3f --- /dev/null +++ b/docs/Models/Components/OpportunitiesSortBy.md @@ -0,0 +1,15 @@ +# OpportunitiesSortBy + +The field on which to sort the Opportunities + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | +| `Title` | title | +| `WinProbability` | win_probability | +| `MonetaryAmount` | monetary_amount | +| `Status` | status | \ No newline at end of file diff --git a/docs/Models/Components/Opportunity.md b/docs/Models/Components/Opportunity.md new file mode 100644 index 00000000..64721fe1 --- /dev/null +++ b/docs/Models/Components/Opportunity.md @@ -0,0 +1,49 @@ +# Opportunity + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for the opportunity. | 12345 | +| `Title` | *string* | :heavy_check_mark: | The title or name of the opportunity. | New Rocket | +| `PrimaryContactId` | *string* | :heavy_check_mark: | The unique identifier of the primary contact associated with the opportunity. | 12345 | +| `Description` | *string* | :heavy_minus_sign: | A description of the opportunity. | Opportunities are created for People and Companies that are interested in buying your products or services. Create Opportunities for People and Companies to move them through one of your Pipelines. | +| `Type` | *string* | :heavy_minus_sign: | The type of the opportunity | Existing Customer - Upgrade | +| `MonetaryAmount` | *double* | :heavy_minus_sign: | The monetary value associated with the opportunity | 75000 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `WinProbability` | *double* | :heavy_minus_sign: | The probability of winning the opportunity, expressed as a percentage. | 40 | +| `ExpectedRevenue` | *double* | :heavy_minus_sign: | The expected revenue from the opportunity | 75000 | +| `CloseDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The actual closing date for the opportunity. If close_date is null, the opportunity is not closed yet. | 2020-10-30 | +| `LossReasonId` | *string* | :heavy_minus_sign: | The unique identifier of the reason why the opportunity was lost. | 12345 | +| `LossReason` | *string* | :heavy_minus_sign: | The reason why the opportunity was lost. | No budget | +| `WonReasonId` | *string* | :heavy_minus_sign: | The unique identifier of the reason why the opportunity was won. | 12345 | +| `WonReason` | *string* | :heavy_minus_sign: | The reason why the opportunity was won. | Best pitch | +| `PipelineId` | *string* | :heavy_minus_sign: | The unique identifier of the pipeline associated with the opportunity | 12345 | +| `PipelineStageId` | *string* | :heavy_minus_sign: | The unique identifier of the stage in the pipeline associated with the opportunity. | 12345 | +| `SourceId` | *string* | :heavy_minus_sign: | The unique identifier of the source of the opportunity. | 12345 | +| `LeadId` | *string* | :heavy_minus_sign: | The unique identifier of the lead associated with the opportunity. | 12345 | +| `LeadSource` | *string* | :heavy_minus_sign: | The source of the lead associated with the opportunity. | Website | +| `ContactId` | *string* | :heavy_minus_sign: | The unique identifier of the contact associated with the opportunity. | 12345 | +| `ContactIds` | List<*string*> | :heavy_minus_sign: | An array of unique identifiers of all contacts associated with the opportunity. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The unique identifier of the company associated with the opportunity. | 12345 | +| `CompanyName` | *string* | :heavy_minus_sign: | The name of the company associated with the opportunity. | Copper | +| `OwnerId` | *string* | :heavy_minus_sign: | The unique identifier of the user who owns the opportunity. | 12345 | +| `Priority` | *string* | :heavy_minus_sign: | The priority level of the opportunity. | None | +| `Status` | *string* | :heavy_minus_sign: | The current status of the opportunity. | Open | +| `StatusId` | *string* | :heavy_minus_sign: | The unique identifier of the current status of the opportunity. | 12345 | +| `Tags` | List<*string*> | :heavy_minus_sign: | N/A | [
"New"
] | +| `InteractionCount` | *double* | :heavy_minus_sign: | The number of interactions with the opportunity. | 0 | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `StageLastChangedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the stage of the opportunity was last changed. | 2020-09-30T07:43:32.000Z | +| `LastActivityAt` | *string* | :heavy_minus_sign: | The date and time of the last activity associated with the opportunity. | 2020-09-30T07:43:32.000Z | +| `Deleted` | *bool* | :heavy_minus_sign: | Indicates whether the opportunity has been deleted. | false | +| `DateStageChanged` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the stage of the opportunity was last changed. | 2020-09-30T00:00:00.000Z | +| `DateLastContacted` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the opportunity was last contacted. | 2020-09-30T00:00:00.000Z | +| `DateLeadCreated` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the lead associated with the opportunity was created. | 2020-09-30T00:00:00.000Z | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The unique identifier of the user who last updated the opportunity. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The unique identifier of the user who created the opportunity. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the opportunity was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the opportunity was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/OpportunityInput.md b/docs/Models/Components/OpportunityInput.md new file mode 100644 index 00000000..cca07a04 --- /dev/null +++ b/docs/Models/Components/OpportunityInput.md @@ -0,0 +1,36 @@ +# OpportunityInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Title` | *string* | :heavy_check_mark: | The title or name of the opportunity. | New Rocket | +| `PrimaryContactId` | *string* | :heavy_check_mark: | The unique identifier of the primary contact associated with the opportunity. | 12345 | +| `Description` | *string* | :heavy_minus_sign: | A description of the opportunity. | Opportunities are created for People and Companies that are interested in buying your products or services. Create Opportunities for People and Companies to move them through one of your Pipelines. | +| `Type` | *string* | :heavy_minus_sign: | The type of the opportunity | Existing Customer - Upgrade | +| `MonetaryAmount` | *double* | :heavy_minus_sign: | The monetary value associated with the opportunity | 75000 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `WinProbability` | *double* | :heavy_minus_sign: | The probability of winning the opportunity, expressed as a percentage. | 40 | +| `CloseDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The actual closing date for the opportunity. If close_date is null, the opportunity is not closed yet. | 2020-10-30 | +| `LossReasonId` | *string* | :heavy_minus_sign: | The unique identifier of the reason why the opportunity was lost. | 12345 | +| `LossReason` | *string* | :heavy_minus_sign: | The reason why the opportunity was lost. | No budget | +| `WonReasonId` | *string* | :heavy_minus_sign: | The unique identifier of the reason why the opportunity was won. | 12345 | +| `WonReason` | *string* | :heavy_minus_sign: | The reason why the opportunity was won. | Best pitch | +| `PipelineId` | *string* | :heavy_minus_sign: | The unique identifier of the pipeline associated with the opportunity | 12345 | +| `PipelineStageId` | *string* | :heavy_minus_sign: | The unique identifier of the stage in the pipeline associated with the opportunity. | 12345 | +| `SourceId` | *string* | :heavy_minus_sign: | The unique identifier of the source of the opportunity. | 12345 | +| `LeadId` | *string* | :heavy_minus_sign: | The unique identifier of the lead associated with the opportunity. | 12345 | +| `LeadSource` | *string* | :heavy_minus_sign: | The source of the lead associated with the opportunity. | Website | +| `ContactId` | *string* | :heavy_minus_sign: | The unique identifier of the contact associated with the opportunity. | 12345 | +| `ContactIds` | List<*string*> | :heavy_minus_sign: | An array of unique identifiers of all contacts associated with the opportunity. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The unique identifier of the company associated with the opportunity. | 12345 | +| `CompanyName` | *string* | :heavy_minus_sign: | The name of the company associated with the opportunity. | Copper | +| `OwnerId` | *string* | :heavy_minus_sign: | The unique identifier of the user who owns the opportunity. | 12345 | +| `Priority` | *string* | :heavy_minus_sign: | The priority level of the opportunity. | None | +| `Status` | *string* | :heavy_minus_sign: | The current status of the opportunity. | Open | +| `StatusId` | *string* | :heavy_minus_sign: | The unique identifier of the current status of the opportunity. | 12345 | +| `Tags` | List<*string*> | :heavy_minus_sign: | N/A | [
"New"
] | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `StageLastChangedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the stage of the opportunity was last changed. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/Options.md b/docs/Models/Components/Options.md new file mode 100644 index 00000000..2692a575 --- /dev/null +++ b/docs/Models/Components/Options.md @@ -0,0 +1,10 @@ +# Options + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for the option. | jkl012 | +| `Name` | *string* | :heavy_minus_sign: | The name of the option. | Color | +| `Value` | *string* | :heavy_minus_sign: | The value of the option. | Silver | \ No newline at end of file diff --git a/docs/Models/Components/OrdersSort.md b/docs/Models/Components/OrdersSort.md new file mode 100644 index 00000000..4b62bcd8 --- /dev/null +++ b/docs/Models/Components/OrdersSort.md @@ -0,0 +1,9 @@ +# OrdersSort + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `By` | [OrdersSortBy](../../Models/Components/OrdersSortBy.md) | :heavy_minus_sign: | The field on which to sort the Orders | created_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/OrdersSortBy.md b/docs/Models/Components/OrdersSortBy.md new file mode 100644 index 00000000..e4f1076b --- /dev/null +++ b/docs/Models/Components/OrdersSortBy.md @@ -0,0 +1,12 @@ +# OrdersSortBy + +The field on which to sort the Orders + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | +| `Name` | name | \ No newline at end of file diff --git a/docs/Models/Components/Owner.md b/docs/Models/Components/Owner.md new file mode 100644 index 00000000..6057d83d --- /dev/null +++ b/docs/Models/Components/Owner.md @@ -0,0 +1,10 @@ +# Owner + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Id` | *string* | :heavy_minus_sign: | ID of the owner | 12345 | +| `Email` | *string* | :heavy_minus_sign: | Email of the owner | hello@apideck.com | +| `Name` | *string* | :heavy_minus_sign: | Name of the owner | Elon Musk | \ No newline at end of file diff --git a/docs/Models/Components/PaginationCoverage.md b/docs/Models/Components/PaginationCoverage.md new file mode 100644 index 00000000..2014b6d3 --- /dev/null +++ b/docs/Models/Components/PaginationCoverage.md @@ -0,0 +1,10 @@ +# PaginationCoverage + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Mode` | [PaginationCoverageMode](../../Models/Components/PaginationCoverageMode.md) | :heavy_minus_sign: | How pagination is implemented on this connector. Native mode means Apideck is using the pagination parameters of the connector. With virtual pagination, the connector does not support pagination, but Apideck emulates it. | native | +| `PagingSupport` | *bool* | :heavy_minus_sign: | Indicates whether the connector supports paging through results using the cursor parameter. | | +| `LimitSupport` | *bool* | :heavy_minus_sign: | Indicates whether the connector supports changing the page size by using the limit parameter. | | \ No newline at end of file diff --git a/docs/Models/Components/PaginationCoverageMode.md b/docs/Models/Components/PaginationCoverageMode.md new file mode 100644 index 00000000..a9c5c395 --- /dev/null +++ b/docs/Models/Components/PaginationCoverageMode.md @@ -0,0 +1,11 @@ +# PaginationCoverageMode + +How pagination is implemented on this connector. Native mode means Apideck is using the pagination parameters of the connector. With virtual pagination, the connector does not support pagination, but Apideck emulates it. + + +## Values + +| Name | Value | +| --------- | --------- | +| `Native` | native | +| `Virtual` | virtual | \ No newline at end of file diff --git a/docs/Models/Components/ParentAccount.md b/docs/Models/Components/ParentAccount.md new file mode 100644 index 00000000..34de404c --- /dev/null +++ b/docs/Models/Components/ParentAccount.md @@ -0,0 +1,10 @@ +# ParentAccount + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The ID of the parent account. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the parent account. | Bank Accounts | +| `DisplayId` | *string* | :heavy_minus_sign: | The human readable display ID used when displaying the parent account | 1-1100 | \ No newline at end of file diff --git a/docs/Models/Components/PassThroughBody.md b/docs/Models/Components/PassThroughBody.md new file mode 100644 index 00000000..8e9d1a7e --- /dev/null +++ b/docs/Models/Components/PassThroughBody.md @@ -0,0 +1,11 @@ +# PassThroughBody + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ServiceId` | *string* | :heavy_check_mark: | Identifier for the service to which this pass_through should be applied. | +| `OperationId` | *string* | :heavy_minus_sign: | Optional identifier for a workflow operation to which this pass_through should be applied. This is useful for Unify calls that are making more than one downstream request. | +| `ExtendObject` | Dictionary | :heavy_minus_sign: | Simple object allowing any properties for direct extension. | +| `ExtendPaths` | List<[ExtendPaths](../../Models/Components/ExtendPaths.md)> | :heavy_minus_sign: | Array of objects for structured data modifications via paths. | \ No newline at end of file diff --git a/docs/Models/Components/Payment.md b/docs/Models/Components/Payment.md new file mode 100644 index 00000000..41d21c80 --- /dev/null +++ b/docs/Models/Components/Payment.md @@ -0,0 +1,39 @@ +# Payment + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `DownstreamId` | *string* | :heavy_minus_sign: | The third-party API ID of original entity | 12345 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `TotalAmount` | *double* | :heavy_check_mark: | The total amount of the transaction | 49.99 | +| `Reference` | *string* | :heavy_minus_sign: | Optional transaction reference message ie: Debit remittance detail. | 123456 | +| `PaymentMethod` | *string* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `PaymentMethodReference` | *string* | :heavy_minus_sign: | Optional reference message returned by payment method on processing | 123456 | +| `PaymentMethodId` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| ~~`AccountsReceivableAccountType`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Type of accounts receivable account. | Account | +| ~~`AccountsReceivableAccountId`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Unique identifier for the account to allocate payment to. | 123456 | +| `Account` | [LinkedLedgerAccount](../../Models/Components/LinkedLedgerAccount.md) | :heavy_minus_sign: | N/A | | +| `TransactionDate` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_check_mark: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `Customer` | [LinkedCustomer](../../Models/Components/LinkedCustomer.md) | :heavy_minus_sign: | The customer this entity is linked to. | | +| ~~`Supplier`~~ | [DeprecatedLinkedSupplier](../../Models/Components/DeprecatedLinkedSupplier.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

The supplier this entity is linked to. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `Reconciled` | *bool* | :heavy_minus_sign: | Indicates if the transaction has been reconciled. | true | +| `Status` | [PaymentStatus](../../Models/Components/PaymentStatus.md) | :heavy_minus_sign: | Status of payment | authorised | +| `Type` | [PaymentType](../../Models/Components/PaymentType.md) | :heavy_minus_sign: | Type of payment | accounts_receivable | +| `Allocations` | List<[Allocation](../../Models/Components/Allocation.md)> | :heavy_minus_sign: | N/A | | +| `Note` | *string* | :heavy_minus_sign: | Note associated with the transaction | Some notes about this transaction | +| `Number` | *string* | :heavy_minus_sign: | Number associated with the transaction | 123456 | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `DisplayId` | *string* | :heavy_minus_sign: | Id to be displayed. | 123456 | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/PaymentFrequency.md b/docs/Models/Components/PaymentFrequency.md new file mode 100644 index 00000000..f5200484 --- /dev/null +++ b/docs/Models/Components/PaymentFrequency.md @@ -0,0 +1,14 @@ +# PaymentFrequency + +Frequency of employee compensation. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Weekly` | weekly | +| `Biweekly` | biweekly | +| `Monthly` | monthly | +| `ProRata` | pro-rata | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/PaymentInput.md b/docs/Models/Components/PaymentInput.md new file mode 100644 index 00000000..6dc6d29f --- /dev/null +++ b/docs/Models/Components/PaymentInput.md @@ -0,0 +1,32 @@ +# PaymentInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `TotalAmount` | *double* | :heavy_check_mark: | The total amount of the transaction | 49.99 | +| `Reference` | *string* | :heavy_minus_sign: | Optional transaction reference message ie: Debit remittance detail. | 123456 | +| `PaymentMethod` | *string* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `PaymentMethodReference` | *string* | :heavy_minus_sign: | Optional reference message returned by payment method on processing | 123456 | +| `PaymentMethodId` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| ~~`AccountsReceivableAccountType`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Type of accounts receivable account. | Account | +| ~~`AccountsReceivableAccountId`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Unique identifier for the account to allocate payment to. | 123456 | +| `Account` | [LinkedLedgerAccountInput](../../Models/Components/LinkedLedgerAccountInput.md) | :heavy_minus_sign: | N/A | | +| `TransactionDate` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_check_mark: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `Customer` | [LinkedCustomerInput](../../Models/Components/LinkedCustomerInput.md) | :heavy_minus_sign: | The customer this entity is linked to. | | +| ~~`Supplier`~~ | [DeprecatedLinkedSupplierInput](../../Models/Components/DeprecatedLinkedSupplierInput.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

The supplier this entity is linked to. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `Reconciled` | *bool* | :heavy_minus_sign: | Indicates if the transaction has been reconciled. | true | +| `Status` | [PaymentStatus](../../Models/Components/PaymentStatus.md) | :heavy_minus_sign: | Status of payment | authorised | +| `Type` | [PaymentType](../../Models/Components/PaymentType.md) | :heavy_minus_sign: | Type of payment | accounts_receivable | +| `Allocations` | List<[AllocationInput](../../Models/Components/AllocationInput.md)> | :heavy_minus_sign: | N/A | | +| `Note` | *string* | :heavy_minus_sign: | Note associated with the transaction | Some notes about this transaction | +| `Number` | *string* | :heavy_minus_sign: | Number associated with the transaction | 123456 | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `CustomFields` | List<[CustomField](../../Models/Components/CustomField.md)> | :heavy_minus_sign: | N/A | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `DisplayId` | *string* | :heavy_minus_sign: | Id to be displayed. | 123456 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/PaymentStatus.md b/docs/Models/Components/PaymentStatus.md new file mode 100644 index 00000000..48ad922f --- /dev/null +++ b/docs/Models/Components/PaymentStatus.md @@ -0,0 +1,13 @@ +# PaymentStatus + +Status of payment + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Authorised` | authorised | +| `Paid` | paid | +| `Voided` | voided | +| `Deleted` | deleted | \ No newline at end of file diff --git a/docs/Models/Components/PaymentType.md b/docs/Models/Components/PaymentType.md new file mode 100644 index 00000000..56820ea8 --- /dev/null +++ b/docs/Models/Components/PaymentType.md @@ -0,0 +1,17 @@ +# PaymentType + +Type of payment + + +## Values + +| Name | Value | +| ------------------------------- | ------------------------------- | +| `AccountsReceivable` | accounts_receivable | +| `AccountsPayable` | accounts_payable | +| `AccountsReceivableCredit` | accounts_receivable_credit | +| `AccountsPayableCredit` | accounts_payable_credit | +| `AccountsReceivableOverpayment` | accounts_receivable_overpayment | +| `AccountsPayableOverpayment` | accounts_payable_overpayment | +| `AccountsReceivablePrepayment` | accounts_receivable_prepayment | +| `AccountsPayablePrepayment` | accounts_payable_prepayment | \ No newline at end of file diff --git a/docs/Models/Components/PaymentUnit.md b/docs/Models/Components/PaymentUnit.md new file mode 100644 index 00000000..184a123d --- /dev/null +++ b/docs/Models/Components/PaymentUnit.md @@ -0,0 +1,15 @@ +# PaymentUnit + +Unit of measurement for employee compensation. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Hour` | hour | +| `Week` | week | +| `Month` | month | +| `Year` | year | +| `Paycheck` | paycheck | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/PaymentsFilter.md b/docs/Models/Components/PaymentsFilter.md new file mode 100644 index 00000000..685d9c52 --- /dev/null +++ b/docs/Models/Components/PaymentsFilter.md @@ -0,0 +1,8 @@ +# PaymentsFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `UpdatedSince` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/PaymentsSort.md b/docs/Models/Components/PaymentsSort.md new file mode 100644 index 00000000..c2c0960b --- /dev/null +++ b/docs/Models/Components/PaymentsSort.md @@ -0,0 +1,9 @@ +# PaymentsSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `By` | [PaymentsSortBy](../../Models/Components/PaymentsSortBy.md) | :heavy_minus_sign: | The field on which to sort the Payments | updated_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/PaymentsSortBy.md b/docs/Models/Components/PaymentsSortBy.md new file mode 100644 index 00000000..658d4da6 --- /dev/null +++ b/docs/Models/Components/PaymentsSortBy.md @@ -0,0 +1,11 @@ +# PaymentsSortBy + +The field on which to sort the Payments + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `UpdatedAt` | updated_at | +| `CreatedAt` | created_at | \ No newline at end of file diff --git a/docs/Models/Components/Payroll.md b/docs/Models/Components/Payroll.md new file mode 100644 index 00000000..e9102d03 --- /dev/null +++ b/docs/Models/Components/Payroll.md @@ -0,0 +1,17 @@ +# Payroll + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `CompanyId` | *string* | :heavy_minus_sign: | The unique identifier of the company. | 23456 | +| `Processed` | *bool* | :heavy_check_mark: | Whether or not the payroll has been successfully processed. Note that processed payrolls cannot be updated. | false | +| `ProcessedDate` | *string* | :heavy_minus_sign: | The date the payroll was processed. | 2022-04-08 | +| `CheckDate` | *string* | :heavy_check_mark: | The date on which employees will be paid for the payroll. | 2022-04-08 | +| `StartDate` | *string* | :heavy_check_mark: | The start date, inclusive, of the pay period. | 2022-04-08 | +| `EndDate` | *string* | :heavy_check_mark: | The end date, inclusive, of the pay period. | 2022-04-21 | +| `Totals` | [PayrollTotals](../../Models/Components/PayrollTotals.md) | :heavy_minus_sign: | The overview of the payroll totals. | | +| `Compensations` | List<[Compensation](../../Models/Components/Compensation.md)> | :heavy_minus_sign: | An array of compensations for the payroll. | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | \ No newline at end of file diff --git a/docs/Models/Components/PayrollTotals.md b/docs/Models/Components/PayrollTotals.md new file mode 100644 index 00000000..30eb0f19 --- /dev/null +++ b/docs/Models/Components/PayrollTotals.md @@ -0,0 +1,18 @@ +# PayrollTotals + +The overview of the payroll totals. + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `CompanyDebit` | *double* | :heavy_minus_sign: | The total company debit for the payroll. | 27992.49 | +| `TaxDebit` | *double* | :heavy_minus_sign: | The total tax debit for the payroll. | 8655.32 | +| `CheckAmount` | *double* | :heavy_minus_sign: | The total check amount for the payroll. | 27966.23 | +| `NetPay` | *double* | :heavy_minus_sign: | The net pay amount for the payroll. | 19337.17 | +| `GrossPay` | *double* | :heavy_minus_sign: | The gross pay amount for the payroll. | 27966.23 | +| `EmployerTaxes` | *double* | :heavy_minus_sign: | The total amount of employer paid taxes for the payroll. | 2038.93 | +| `EmployeeTaxes` | *double* | :heavy_minus_sign: | The total amount of employee paid taxes for the payroll. | 6616.39 | +| `EmployerBenefitContributions` | *double* | :heavy_minus_sign: | The total amount of company contributed benefits for the payroll. | 0 | +| `EmployeeBenefitDeductions` | *double* | :heavy_minus_sign: | The total amount of employee deducted benefits for the payroll. | 0 | \ No newline at end of file diff --git a/docs/Models/Components/PayrollsFilter.md b/docs/Models/Components/PayrollsFilter.md new file mode 100644 index 00000000..14d99898 --- /dev/null +++ b/docs/Models/Components/PayrollsFilter.md @@ -0,0 +1,9 @@ +# PayrollsFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `StartDate` | *string* | :heavy_minus_sign: | Return payrolls whose pay period is after the start date | 2022-04-08 | +| `EndDate` | *string* | :heavy_minus_sign: | Return payrolls whose pay period is before the end date | 2022-04-21 | \ No newline at end of file diff --git a/docs/Models/Components/PeriodType.md b/docs/Models/Components/PeriodType.md new file mode 100644 index 00000000..0cf0093f --- /dev/null +++ b/docs/Models/Components/PeriodType.md @@ -0,0 +1,12 @@ +# PeriodType + +The type of period to include in the resource: month, quarter, year. + + +## Values + +| Name | Value | +| --------- | --------- | +| `Month` | month | +| `Quarter` | quarter | +| `Year` | year | \ No newline at end of file diff --git a/docs/Models/Components/Permissions.md b/docs/Models/Components/Permissions.md new file mode 100644 index 00000000..5c05afb0 --- /dev/null +++ b/docs/Models/Components/Permissions.md @@ -0,0 +1,10 @@ +# Permissions + +Permissions the current user has on this file. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `Download` | *bool* | :heavy_minus_sign: | Whether the current user can download this file. | \ No newline at end of file diff --git a/docs/Models/Components/Person.md b/docs/Models/Components/Person.md new file mode 100644 index 00000000..75b5df69 --- /dev/null +++ b/docs/Models/Components/Person.md @@ -0,0 +1,16 @@ +# Person + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the person. | Elon | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the person. | Musk | +| `MiddleName` | *string* | :heavy_minus_sign: | Middle name of the person. | D. | +| `Gender` | [Gender](../../Models/Components/Gender.md) | :heavy_minus_sign: | The gender represents the gender identity of a person. | male | +| `Initials` | *string* | :heavy_minus_sign: | Initials of the person | EM | +| `Birthday` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | Date of birth | 2000-08-12 | +| `DeceasedOn` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | Date of death | 2000-08-12 | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | \ No newline at end of file diff --git a/docs/Models/Components/PersonInput.md b/docs/Models/Components/PersonInput.md new file mode 100644 index 00000000..ac3f2de7 --- /dev/null +++ b/docs/Models/Components/PersonInput.md @@ -0,0 +1,14 @@ +# PersonInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the person. | Elon | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the person. | Musk | +| `MiddleName` | *string* | :heavy_minus_sign: | Middle name of the person. | D. | +| `Gender` | [Gender](../../Models/Components/Gender.md) | :heavy_minus_sign: | The gender represents the gender identity of a person. | male | +| `Initials` | *string* | :heavy_minus_sign: | Initials of the person | EM | +| `Birthday` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | Date of birth | 2000-08-12 | +| `DeceasedOn` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | Date of death | 2000-08-12 | \ No newline at end of file diff --git a/docs/Models/Components/PhoneNumber.md b/docs/Models/Components/PhoneNumber.md new file mode 100644 index 00000000..cffb028f --- /dev/null +++ b/docs/Models/Components/PhoneNumber.md @@ -0,0 +1,13 @@ +# PhoneNumber + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | Unique identifier of the phone number | 12345 | +| `CountryCode` | *string* | :heavy_minus_sign: | The country code of the phone number, e.g. +1 | 1 | +| `AreaCode` | *string* | :heavy_minus_sign: | The area code of the phone number, e.g. 323 | 323 | +| `Number` | *string* | :heavy_check_mark: | The phone number | 111-111-1111 | +| `Extension` | *string* | :heavy_minus_sign: | The extension of the phone number | 105 | +| `Type` | [PhoneNumberType](../../Models/Components/PhoneNumberType.md) | :heavy_minus_sign: | The type of phone number | primary | \ No newline at end of file diff --git a/docs/Models/Components/PhoneNumberType.md b/docs/Models/Components/PhoneNumberType.md new file mode 100644 index 00000000..01dd45ad --- /dev/null +++ b/docs/Models/Components/PhoneNumberType.md @@ -0,0 +1,20 @@ +# PhoneNumberType + +The type of phone number + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `Primary` | primary | +| `Secondary` | secondary | +| `Home` | home | +| `Work` | work | +| `Office` | office | +| `Mobile` | mobile | +| `Assistant` | assistant | +| `Fax` | fax | +| `DirectDialIn` | direct-dial-in | +| `Personal` | personal | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/Pipeline.md b/docs/Models/Components/Pipeline.md new file mode 100644 index 00000000..469dd5db --- /dev/null +++ b/docs/Models/Components/Pipeline.md @@ -0,0 +1,18 @@ +# Pipeline + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The unique identifier of the Pipeline. | default | +| `Name` | *string* | :heavy_check_mark: | The name of the Pipeline. | Sales Pipeline | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Archived` | *bool* | :heavy_minus_sign: | Whether the Pipeline is archived or not. | false | +| `Active` | *bool* | :heavy_minus_sign: | Whether the Pipeline is active or not. | false | +| `DisplayOrder` | *long* | :heavy_minus_sign: | The order in which the Pipeline is displayed in the UI. | 1 | +| `WinProbabilityEnabled` | *bool* | :heavy_minus_sign: | Whether the Pipeline has win probability enabled or not. | true | +| `Stages` | List<[Stages](../../Models/Components/Stages.md)> | :heavy_minus_sign: | The Pipeline Stages. | | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/PipelineInput.md b/docs/Models/Components/PipelineInput.md new file mode 100644 index 00000000..fa1f74e3 --- /dev/null +++ b/docs/Models/Components/PipelineInput.md @@ -0,0 +1,16 @@ +# PipelineInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The unique identifier of the Pipeline. | default | +| `Name` | *string* | :heavy_check_mark: | The name of the Pipeline. | Sales Pipeline | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Archived` | *bool* | :heavy_minus_sign: | Whether the Pipeline is archived or not. | false | +| `Active` | *bool* | :heavy_minus_sign: | Whether the Pipeline is active or not. | false | +| `DisplayOrder` | *long* | :heavy_minus_sign: | The order in which the Pipeline is displayed in the UI. | 1 | +| `WinProbabilityEnabled` | *bool* | :heavy_minus_sign: | Whether the Pipeline has win probability enabled or not. | true | +| `Stages` | List<[PipelineStages](../../Models/Components/PipelineStages.md)> | :heavy_minus_sign: | The Pipeline Stages. | | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/PipelineStages.md b/docs/Models/Components/PipelineStages.md new file mode 100644 index 00000000..c24fc725 --- /dev/null +++ b/docs/Models/Components/PipelineStages.md @@ -0,0 +1,11 @@ +# PipelineStages + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_minus_sign: | The name of the Pipeline Stage. | Contract Sent | +| `Value` | *string* | :heavy_minus_sign: | The value of the Pipeline Stage. | CONTRACT_SENT | +| `WinProbability` | *long* | :heavy_minus_sign: | The expected probability of winning an Opportunity in this Pipeline Stage. Valid values are [0-100]. | 50 | +| `DisplayOrder` | *long* | :heavy_minus_sign: | The order in which the Pipeline Stage is displayed in the UI. | 1 | \ No newline at end of file diff --git a/docs/Models/Components/Price.md b/docs/Models/Components/Price.md new file mode 100644 index 00000000..9bd1e1f9 --- /dev/null +++ b/docs/Models/Components/Price.md @@ -0,0 +1,12 @@ +# Price + +Price of the message. + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `PerUnit` | *string* | :heavy_minus_sign: | N/A | 0.01 | +| `TotalAmount` | *string* | :heavy_minus_sign: | N/A | 0.01 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | \ No newline at end of file diff --git a/docs/Models/Components/Priority.md b/docs/Models/Components/Priority.md new file mode 100644 index 00000000..c91c8a38 --- /dev/null +++ b/docs/Models/Components/Priority.md @@ -0,0 +1,13 @@ +# Priority + +Priority of the ticket + + +## Values + +| Name | Value | +| -------- | -------- | +| `Low` | low | +| `Normal` | normal | +| `High` | high | +| `Urgent` | urgent | \ No newline at end of file diff --git a/docs/Models/Components/ProbationPeriod.md b/docs/Models/Components/ProbationPeriod.md new file mode 100644 index 00000000..4218b99c --- /dev/null +++ b/docs/Models/Components/ProbationPeriod.md @@ -0,0 +1,9 @@ +# ProbationPeriod + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `StartDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date that the employee started their probation period at the company. | 2021-10-01 | +| `EndDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date that the employee ended their probation period at the company. | 2021-11-28 | \ No newline at end of file diff --git a/docs/Models/Components/ProductStatus.md b/docs/Models/Components/ProductStatus.md new file mode 100644 index 00000000..f5002203 --- /dev/null +++ b/docs/Models/Components/ProductStatus.md @@ -0,0 +1,11 @@ +# ProductStatus + +The current status of the product (active or archived). + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Active` | active | +| `Archived` | archived | \ No newline at end of file diff --git a/docs/Models/Components/ProfitAndLoss.md b/docs/Models/Components/ProfitAndLoss.md new file mode 100644 index 00000000..c8ac8a22 --- /dev/null +++ b/docs/Models/Components/ProfitAndLoss.md @@ -0,0 +1,19 @@ +# ProfitAndLoss + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `ReportName` | *string* | :heavy_check_mark: | The name of the report | ProfitAndLoss | +| `StartDate` | *string* | :heavy_minus_sign: | The start date of the report | 2017-01-01 | +| `EndDate` | *string* | :heavy_minus_sign: | The start date of the report | 2017-01-01 | +| `Currency` | *string* | :heavy_check_mark: | N/A | USD | +| `CustomerId` | *string* | :heavy_minus_sign: | Customer id | 123 | +| `Income` | [Income](../../Models/Components/Income.md) | :heavy_check_mark: | N/A | {
"total": 200000,
"records": [
{
"id": "123",
"name": "Income 1",
"amount": 10000
},
{
"id": "456",
"name": "Income 2",
"amount": 20000
}
]
} | +| `Expenses` | [Models.Components.Expenses](../../Models/Components/Expenses.md) | :heavy_check_mark: | N/A | {
"total": 200000,
"records": [
{
"id": "123",
"name": "Expense 1",
"amount": 10000
},
{
"id": "456",
"name": "Expense 2",
"amount": 20000
}
]
} | +| `NetIncome` | [NetIncome](../../Models/Components/NetIncome.md) | :heavy_minus_sign: | N/A | {
"total": 200000
} | +| `NetOperatingIncome` | [NetOperatingIncome](../../Models/Components/NetOperatingIncome.md) | :heavy_minus_sign: | N/A | {
"total": 200000
} | +| `GrossProfit` | [GrossProfit](../../Models/Components/GrossProfit.md) | :heavy_minus_sign: | N/A | {
"total": 200000
} | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | \ No newline at end of file diff --git a/docs/Models/Components/ProfitAndLossFilter.md b/docs/Models/Components/ProfitAndLossFilter.md new file mode 100644 index 00000000..c51540b4 --- /dev/null +++ b/docs/Models/Components/ProfitAndLossFilter.md @@ -0,0 +1,10 @@ +# ProfitAndLossFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `CustomerId` | *string* | :heavy_minus_sign: | Filter by customer id | 123abc | +| `StartDate` | *string* | :heavy_minus_sign: | Filter by start date. If start date is given, end date is required. | 2021-01-01 | +| `EndDate` | *string* | :heavy_minus_sign: | Filter by end date. If end date is given, start date is required. | 2021-12-31 | \ No newline at end of file diff --git a/docs/Models/Components/PurchaseDetails.md b/docs/Models/Components/PurchaseDetails.md new file mode 100644 index 00000000..563bf4fc --- /dev/null +++ b/docs/Models/Components/PurchaseDetails.md @@ -0,0 +1,11 @@ +# PurchaseDetails + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `UnitPrice` | *double* | :heavy_minus_sign: | N/A | 27500.5 | +| `UnitOfMeasure` | *string* | :heavy_minus_sign: | Description of the unit type the item is sold as, ie: kg, hour. | pc. | +| `TaxInclusive` | *bool* | :heavy_minus_sign: | Amounts are including tax | true | +| `TaxRate` | [LinkedTaxRate](../../Models/Components/LinkedTaxRate.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/PurchaseOrder.md b/docs/Models/Components/PurchaseOrder.md new file mode 100644 index 00000000..81f68e87 --- /dev/null +++ b/docs/Models/Components/PurchaseOrder.md @@ -0,0 +1,43 @@ +# PurchaseOrder + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `DownstreamId` | *string* | :heavy_minus_sign: | The third-party API ID of original entity | 12345 | +| `PoNumber` | *string* | :heavy_minus_sign: | A PO Number uniquely identifies a purchase order and is generally defined by the buyer. | 90000117 | +| `Reference` | *string* | :heavy_minus_sign: | Optional purchase order reference. | 123456 | +| `Supplier` | [LinkedSupplier](../../Models/Components/LinkedSupplier.md) | :heavy_minus_sign: | The supplier this entity is linked to. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `Status` | [PurchaseOrderStatus](../../Models/Components/PurchaseOrderStatus.md) | :heavy_minus_sign: | N/A | open | +| `IssuedDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | Date purchase order was issued - YYYY-MM-DD. | 2020-09-30 | +| `DeliveryDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date on which the purchase order is to be delivered - YYYY-MM-DD. | 2020-09-30 | +| `ExpectedArrivalDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date on which the order is expected to arrive - YYYY-MM-DD. | 2020-09-30 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `SubTotal` | *double* | :heavy_minus_sign: | Sub-total amount, normally before tax. | 27500 | +| `TotalTax` | *double* | :heavy_minus_sign: | Total tax amount applied to this invoice. | 2500 | +| `Total` | *double* | :heavy_minus_sign: | Total amount of invoice, including tax. | 27500 | +| `TaxInclusive` | *bool* | :heavy_minus_sign: | Amounts are including tax | true | +| `LineItems` | List<[InvoiceLineItem](../../Models/Components/InvoiceLineItem.md)> | :heavy_minus_sign: | N/A | | +| `ShippingAddress` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | +| `LedgerAccount` | [LinkedLedgerAccount](../../Models/Components/LinkedLedgerAccount.md) | :heavy_minus_sign: | N/A | | +| `TemplateId` | *string* | :heavy_minus_sign: | Optional purchase order template | 123456 | +| `DiscountPercentage` | *double* | :heavy_minus_sign: | Discount percentage applied to this transaction. | 5.5 | +| `BankAccount` | [BankAccount](../../Models/Components/BankAccount.md) | :heavy_minus_sign: | N/A | | +| `AccountingByRow` | *bool* | :heavy_minus_sign: | Indicates if accounting by row is used (true) or not (false). Accounting by row means that a separate ledger transaction is created for each row. | false | +| `DueDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The due date is the date on which a payment is scheduled to be received - YYYY-MM-DD. | 2020-10-30 | +| `PaymentMethod` | *string* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `TaxCode` | *string* | :heavy_minus_sign: | Applicable tax id/code override if tax is not supplied on a line item basis. | 1234 | +| `Channel` | *string* | :heavy_minus_sign: | The channel through which the transaction is processed. | email | +| `Memo` | *string* | :heavy_minus_sign: | Message for the supplier. This text appears on the Purchase Order. | Thank you for the partnership and have a great day! | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/PurchaseOrderInput.md b/docs/Models/Components/PurchaseOrderInput.md new file mode 100644 index 00000000..c55e9547 --- /dev/null +++ b/docs/Models/Components/PurchaseOrderInput.md @@ -0,0 +1,36 @@ +# PurchaseOrderInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `PoNumber` | *string* | :heavy_minus_sign: | A PO Number uniquely identifies a purchase order and is generally defined by the buyer. | 90000117 | +| `Reference` | *string* | :heavy_minus_sign: | Optional purchase order reference. | 123456 | +| `Supplier` | [LinkedSupplierInput](../../Models/Components/LinkedSupplierInput.md) | :heavy_minus_sign: | The supplier this entity is linked to. | | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `Status` | [PurchaseOrderStatus](../../Models/Components/PurchaseOrderStatus.md) | :heavy_minus_sign: | N/A | open | +| `IssuedDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | Date purchase order was issued - YYYY-MM-DD. | 2020-09-30 | +| `DeliveryDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date on which the purchase order is to be delivered - YYYY-MM-DD. | 2020-09-30 | +| `ExpectedArrivalDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The date on which the order is expected to arrive - YYYY-MM-DD. | 2020-09-30 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `CurrencyRate` | *double* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `SubTotal` | *double* | :heavy_minus_sign: | Sub-total amount, normally before tax. | 27500 | +| `TotalTax` | *double* | :heavy_minus_sign: | Total tax amount applied to this invoice. | 2500 | +| `Total` | *double* | :heavy_minus_sign: | Total amount of invoice, including tax. | 27500 | +| `TaxInclusive` | *bool* | :heavy_minus_sign: | Amounts are including tax | true | +| `LineItems` | List<[InvoiceLineItemInput](../../Models/Components/InvoiceLineItemInput.md)> | :heavy_minus_sign: | N/A | | +| `ShippingAddress` | [Address](../../Models/Components/Address.md) | :heavy_minus_sign: | N/A | | +| `LedgerAccount` | [LinkedLedgerAccountInput](../../Models/Components/LinkedLedgerAccountInput.md) | :heavy_minus_sign: | N/A | | +| `TemplateId` | *string* | :heavy_minus_sign: | Optional purchase order template | 123456 | +| `DiscountPercentage` | *double* | :heavy_minus_sign: | Discount percentage applied to this transaction. | 5.5 | +| `BankAccount` | [BankAccount](../../Models/Components/BankAccount.md) | :heavy_minus_sign: | N/A | | +| `AccountingByRow` | *bool* | :heavy_minus_sign: | Indicates if accounting by row is used (true) or not (false). Accounting by row means that a separate ledger transaction is created for each row. | false | +| `DueDate` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The due date is the date on which a payment is scheduled to be received - YYYY-MM-DD. | 2020-10-30 | +| `PaymentMethod` | *string* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `TaxCode` | *string* | :heavy_minus_sign: | Applicable tax id/code override if tax is not supplied on a line item basis. | 1234 | +| `Channel` | *string* | :heavy_minus_sign: | The channel through which the transaction is processed. | email | +| `Memo` | *string* | :heavy_minus_sign: | Message for the supplier. This text appears on the Purchase Order. | Thank you for the partnership and have a great day! | +| `TrackingCategories` | List<[LinkedTrackingCategory](../../Models/Components/LinkedTrackingCategory.md)> | :heavy_minus_sign: | A list of linked tracking categories. | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/PurchaseOrderStatus.md b/docs/Models/Components/PurchaseOrderStatus.md new file mode 100644 index 00000000..534011a4 --- /dev/null +++ b/docs/Models/Components/PurchaseOrderStatus.md @@ -0,0 +1,13 @@ +# PurchaseOrderStatus + + +## Values + +| Name | Value | +| --------- | --------- | +| `Draft` | draft | +| `Open` | open | +| `Closed` | closed | +| `Deleted` | deleted | +| `Billed` | billed | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/PurchaseOrdersFilter.md b/docs/Models/Components/PurchaseOrdersFilter.md new file mode 100644 index 00000000..68b08211 --- /dev/null +++ b/docs/Models/Components/PurchaseOrdersFilter.md @@ -0,0 +1,9 @@ +# PurchaseOrdersFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `UpdatedSince` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | +| `SupplierId` | *string* | :heavy_minus_sign: | N/A | 1234 | \ No newline at end of file diff --git a/docs/Models/Components/PurchaseOrdersSort.md b/docs/Models/Components/PurchaseOrdersSort.md new file mode 100644 index 00000000..80bcecb8 --- /dev/null +++ b/docs/Models/Components/PurchaseOrdersSort.md @@ -0,0 +1,9 @@ +# PurchaseOrdersSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `By` | [PurchaseOrdersSortBy](../../Models/Components/PurchaseOrdersSortBy.md) | :heavy_minus_sign: | The field on which to sort the Purchase Orders | updated_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/PurchaseOrdersSortBy.md b/docs/Models/Components/PurchaseOrdersSortBy.md new file mode 100644 index 00000000..454fa4c0 --- /dev/null +++ b/docs/Models/Components/PurchaseOrdersSortBy.md @@ -0,0 +1,11 @@ +# PurchaseOrdersSortBy + +The field on which to sort the Purchase Orders + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `UpdatedAt` | updated_at | +| `CreatedAt` | created_at | \ No newline at end of file diff --git a/docs/Models/Components/Reports.md b/docs/Models/Components/Reports.md new file mode 100644 index 00000000..39247f5c --- /dev/null +++ b/docs/Models/Components/Reports.md @@ -0,0 +1,22 @@ +# Reports + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `ReportName` | *string* | :heavy_minus_sign: | The name of the report | BalanceSheet | +| `StartDate` | *string* | :heavy_minus_sign: | The start date of the report | 2017-01-01 | +| `EndDate` | *string* | :heavy_check_mark: | The start date of the report | 2017-01-31 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Assets` | [BalanceSheetAssetsAccount](../../Models/Components/BalanceSheetAssetsAccount.md) | :heavy_check_mark: | A balance sheet assets account represents the financial position of a company at a specific point in time. | {
"account_id": "1",
"code": "1000",
"name": "Assets",
"value": 50000,
"items": [
{
"account_id": "101",
"code": "1100",
"name": "Current Assets",
"value": 20000,
"items": [
{
"account_id": "1011",
"code": "1101",
"name": "Cash and Cash Equivalents",
"value": 10000
},
{
"account_id": "1012",
"code": "1102",
"name": "Accounts Receivable",
"value": 5000
},
{
"account_id": "1013",
"code": "1103",
"name": "Inventory",
"value": 3000
},
{
"account_id": "1014",
"code": "1104",
"name": "Prepaid Expenses",
"value": 2000
}
]
},
{
"account_id": "102",
"code": "1200",
"name": "Non-Current Assets",
"value": 30000,
"items": [
{
"account_id": "1021",
"code": "1201",
"name": "Property, Plant, and Equipment (PPE)",
"value": 25000
},
{
"account_id": "1022",
"code": "1202",
"name": "Intangible Assets",
"value": 5000,
"items": [
{
"account_id": "10221",
"code": "1203",
"name": "Goodwill",
"value": 3000
},
{
"account_id": "10222",
"code": "1204",
"name": "Patents",
"value": 2000
}
]
}
]
}
]
} | +| `Liabilities` | [BalanceSheetLiabilitiesAccount](../../Models/Components/BalanceSheetLiabilitiesAccount.md) | :heavy_check_mark: | A balance sheet liabilities account represents the financial position of a company at a specific point in time. | {
"account_id": "2",
"code": "2000",
"name": "Liabilities",
"value": 30000,
"items": [
{
"account_id": "201",
"code": "2100",
"name": "Current Liabilities",
"value": 10000,
"items": [
{
"account_id": "2011",
"code": "2101",
"name": "Accounts Payable",
"value": 4000
},
{
"account_id": "2012",
"code": "2102",
"name": "Short-Term Debt",
"value": 2000
},
{
"account_id": "2013",
"code": "2103",
"name": "Accrued Expenses",
"value": 1000
},
{
"account_id": "2014",
"code": "2104",
"name": "Current Portion of Long-Term Debt",
"value": 3000
}
]
},
{
"account_id": "202",
"code": "2200",
"name": "Non-Current Liabilities",
"value": 20000,
"items": [
{
"account_id": "2021",
"code": "2201",
"name": "Long-Term Debt",
"value": 15000
},
{
"account_id": "2022",
"code": "2202",
"name": "Deferred Tax Liabilities",
"value": 3000
},
{
"account_id": "2023",
"code": "2203",
"name": "Pension Liabilities",
"value": 2000
}
]
}
]
} | +| `Equity` | [BalanceSheetEquityAccount](../../Models/Components/BalanceSheetEquityAccount.md) | :heavy_check_mark: | A balance sheet equity account represents the financial position of a company at a specific point in time. | {
"account_id": "3",
"code": "3000",
"name": "Equity",
"value": 20000,
"items": [
{
"account_id": "301",
"code": "3100",
"name": "Common Stock",
"value": 5000
},
{
"account_id": "302",
"code": "3200",
"name": "Retained Earnings",
"value": 10000
},
{
"account_id": "303",
"code": "3300",
"name": "Additional Paid-In Capital",
"value": 3000
},
{
"account_id": "304",
"code": "3400",
"name": "Treasury Stock",
"value": -1000
},
{
"account_id": "305",
"code": "3500",
"name": "Other Comprehensive Income",
"value": 3000
}
]
} | +| `NetAssets` | *double* | :heavy_minus_sign: | The net assets of the balance sheet | 1000 | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `UncategorizedItems` | [BalanceSheetUncategorizedItemsAccount](../../Models/Components/BalanceSheetUncategorizedItemsAccount.md) | :heavy_minus_sign: | A balance sheet uncategorized items account represents the financial position of a company at a specific point in time. | {
"account_id": "3",
"code": "3000",
"name": "Uncategorized Items",
"value": 1000,
"items": [
{
"account_id": "301",
"code": "3100",
"name": "not linked account",
"value": 1000
}
]
} | \ No newline at end of file diff --git a/docs/Models/Components/RequestCountAllocation.md b/docs/Models/Components/RequestCountAllocation.md new file mode 100644 index 00000000..b1d45610 --- /dev/null +++ b/docs/Models/Components/RequestCountAllocation.md @@ -0,0 +1,10 @@ +# RequestCountAllocation + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Unify` | *double* | :heavy_minus_sign: | N/A | 100 | +| `Proxy` | *double* | :heavy_minus_sign: | N/A | 10 | +| `Vault` | *double* | :heavy_minus_sign: | N/A | 21 | \ No newline at end of file diff --git a/docs/Models/Components/RequestRate.md b/docs/Models/Components/RequestRate.md new file mode 100644 index 00000000..a0e3cc2f --- /dev/null +++ b/docs/Models/Components/RequestRate.md @@ -0,0 +1,12 @@ +# RequestRate + +The rate at which requests for resources will be made to downstream. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `Rate` | *long* | :heavy_check_mark: | The number of requests per window unit. | +| `Size` | *long* | :heavy_check_mark: | Size of request window. | +| `Unit` | [Unit](../../Models/Components/Unit.md) | :heavy_check_mark: | The window unit for the rate. | \ No newline at end of file diff --git a/docs/Models/Components/RequestType.md b/docs/Models/Components/RequestType.md new file mode 100644 index 00000000..4df08de4 --- /dev/null +++ b/docs/Models/Components/RequestType.md @@ -0,0 +1,16 @@ +# RequestType + +The type of request + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `Vacation` | vacation | +| `Sick` | sick | +| `Personal` | personal | +| `JuryDuty` | jury_duty | +| `Volunteer` | volunteer | +| `Bereavement` | bereavement | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/ResourceStatus.md b/docs/Models/Components/ResourceStatus.md new file mode 100644 index 00000000..3430bff2 --- /dev/null +++ b/docs/Models/Components/ResourceStatus.md @@ -0,0 +1,14 @@ +# ResourceStatus + +Status of the resource. Resources with status live or beta are callable. + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `Live` | live | +| `Beta` | beta | +| `Development` | development | +| `Upcoming` | upcoming | +| `Considering` | considering | \ No newline at end of file diff --git a/docs/Models/Components/Resources.md b/docs/Models/Components/Resources.md new file mode 100644 index 00000000..0a3db7ff --- /dev/null +++ b/docs/Models/Components/Resources.md @@ -0,0 +1,11 @@ +# Resources + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | ID of the resource, typically a lowercased version of its name. | companies | +| `Name` | *string* | :heavy_minus_sign: | Name of the resource (plural) | Companies | +| `Status` | [ResourceStatus](../../Models/Components/ResourceStatus.md) | :heavy_minus_sign: | Status of the resource. Resources with status live or beta are callable. | | +| `ExcludedFromCoverage` | *bool* | :heavy_minus_sign: | Exclude from mapping coverage | false | \ No newline at end of file diff --git a/docs/Models/Components/Salary.md b/docs/Models/Components/Salary.md new file mode 100644 index 00000000..c5967db7 --- /dev/null +++ b/docs/Models/Components/Salary.md @@ -0,0 +1,11 @@ +# Salary + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `Min` | *long* | :heavy_minus_sign: | Minimum salary payable for the job role. | 8000 | +| `Max` | *long* | :heavy_minus_sign: | Maximum salary payable for the job role. | 10000 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Interval` | *string* | :heavy_minus_sign: | N/A | year | \ No newline at end of file diff --git a/docs/Models/Components/SalesDetails.md b/docs/Models/Components/SalesDetails.md new file mode 100644 index 00000000..de853012 --- /dev/null +++ b/docs/Models/Components/SalesDetails.md @@ -0,0 +1,11 @@ +# SalesDetails + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `UnitPrice` | *double* | :heavy_minus_sign: | N/A | 27500.5 | +| `UnitOfMeasure` | *string* | :heavy_minus_sign: | Description of the unit type the item is sold as, ie: kg, hour. | pc. | +| `TaxInclusive` | *bool* | :heavy_minus_sign: | Amounts are including tax | true | +| `TaxRate` | [LinkedTaxRate](../../Models/Components/LinkedTaxRate.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/Schedule.md b/docs/Models/Components/Schedule.md new file mode 100644 index 00000000..83cc1e07 --- /dev/null +++ b/docs/Models/Components/Schedule.md @@ -0,0 +1,11 @@ +# Schedule + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `StartDate` | *string* | :heavy_check_mark: | The start date, inclusive, of the schedule period. | 2022-04-08 | +| `EndDate` | *string* | :heavy_check_mark: | The end date, inclusive, of the schedule period. | 2022-04-21 | +| `WorkPattern` | [WorkPattern](../../Models/Components/WorkPattern.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/Schema.md b/docs/Models/Components/Schema.md new file mode 100644 index 00000000..b60f725f --- /dev/null +++ b/docs/Models/Components/Schema.md @@ -0,0 +1,9 @@ +# Schema + +JSON Schema of the resource in our Unified API + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/Models/Components/SchemaSupport.md b/docs/Models/Components/SchemaSupport.md new file mode 100644 index 00000000..755e648a --- /dev/null +++ b/docs/Models/Components/SchemaSupport.md @@ -0,0 +1,10 @@ +# SchemaSupport + +When a connector has schema_support, a call can be made to retrieve a json schema that describes a downstream resource. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | +| `Supported` | *bool* | :heavy_minus_sign: | Can a resource schema be retrieved for this connector? | true | \ No newline at end of file diff --git a/docs/Models/Components/Scope.md b/docs/Models/Components/Scope.md new file mode 100644 index 00000000..a15502c9 --- /dev/null +++ b/docs/Models/Components/Scope.md @@ -0,0 +1,11 @@ +# Scope + +The scope of the shared link. + + +## Values + +| Name | Value | +| --------- | --------- | +| `Public` | public | +| `Company` | company | \ No newline at end of file diff --git a/docs/Models/Components/Security.md b/docs/Models/Components/Security.md new file mode 100644 index 00000000..7abdaa92 --- /dev/null +++ b/docs/Models/Components/Security.md @@ -0,0 +1,8 @@ +# Security + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `ApiKey` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/Service.md b/docs/Models/Components/Service.md new file mode 100644 index 00000000..799cdaa2 --- /dev/null +++ b/docs/Models/Components/Service.md @@ -0,0 +1,11 @@ +# Service + +Apideck service provider associated with request. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | +| `Id` | *string* | :heavy_check_mark: | Apideck service provider id. | apideck-vault | +| `Name` | *string* | :heavy_check_mark: | Apideck service provider name. | Apideck Vault | \ No newline at end of file diff --git a/docs/Models/Components/Session.md b/docs/Models/Components/Session.md new file mode 100644 index 00000000..af355fb8 --- /dev/null +++ b/docs/Models/Components/Session.md @@ -0,0 +1,12 @@ +# Session + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `ConsumerMetadata` | [ConsumerMetadata](../../Models/Components/ConsumerMetadata.md) | :heavy_minus_sign: | The metadata of the consumer. This is used to display the consumer in the sidebar. This is optional, but recommended. | | +| `RedirectUri` | *string* | :heavy_minus_sign: | The URL to redirect the user to after the session has been configured. | https://mysaas.com/dashboard | +| `Settings` | [SessionSettings](../../Models/Components/SessionSettings.md) | :heavy_minus_sign: | Settings to change the way the Vault is displayed. | | +| `Theme` | [Theme](../../Models/Components/Theme.md) | :heavy_minus_sign: | Theming options to change the look and feel of Vault. | | +| `CustomConsumerSettings` | Dictionary | :heavy_minus_sign: | Custom consumer settings that are passed as part of the session. | {
"feature_flag_1": true,
"tax_rates": [
{
"id": "6",
"label": "6%"
},
{
"id": "21",
"label": "21%"
}
]
} | \ No newline at end of file diff --git a/docs/Models/Components/SessionSettings.md b/docs/Models/Components/SessionSettings.md new file mode 100644 index 00000000..b3e0a510 --- /dev/null +++ b/docs/Models/Components/SessionSettings.md @@ -0,0 +1,20 @@ +# SessionSettings + +Settings to change the way the Vault is displayed. + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `UnifiedApis` | List<[UnifiedApiId](../../Models/Components/UnifiedApiId.md)> | :heavy_minus_sign: | Provide the IDs of the Unified APIs you want to be visible. Leaving it empty or omitting this field will show all Unified APIs. | | +| `HideResourceSettings` | *bool* | :heavy_minus_sign: | A boolean that controls the display of the configurable resources for an integration. When set to true, the resource configuration options will be hidden and not shown to the user. When set to false, the resource configuration options will be displayed to the user. | | +| `SandboxMode` | *bool* | :heavy_minus_sign: | Configure [Vault](/apis/vault/reference#section/Get-Started) to show a banner informing the logged in user is in a test environment. | | +| `IsolationMode` | *bool* | :heavy_minus_sign: | Configure [Vault](/apis/vault/reference#section/Get-Started) to run in isolation mode, meaning it only shows the connection settings and hides the navigation items. | | +| `SessionLength` | *string* | :heavy_minus_sign: | The duration of time the session is valid for (maximum 1 week). | 30m | +| `ShowLogs` | *bool* | :heavy_minus_sign: | Configure [Vault](/apis/vault/reference#section/Get-Started) to show the logs page. Defaults to `true`. | | +| `ShowSuggestions` | *bool* | :heavy_minus_sign: | Configure [Vault](/apis/vault/reference#section/Get-Started) to show the suggestions page. Defaults to `false`. | | +| `ShowSidebar` | *bool* | :heavy_minus_sign: | Configure [Vault](/apis/vault/reference#section/Get-Started) to show the sidebar. Defaults to `true`. | | +| `AutoRedirect` | *bool* | :heavy_minus_sign: | Automatically redirect to redirect uri after the connection has been configured as callable. Defaults to `false`. | | +| `HideGuides` | *bool* | :heavy_minus_sign: | Hide Apideck connection guides in [Vault](/apis/vault/reference#section/Get-Started). Defaults to `false`. | | +| `AllowActions` | List<[AllowActions](../../Models/Components/AllowActions.md)> | :heavy_minus_sign: | Hide actions from your users in [Vault](/apis/vault/reference#section/Get-Started). Actions in `allow_actions` will be shown on a connection in Vault.
Available actions are: `delete`, `disconnect`, `reauthorize` and `disable`.
Empty array will hide all actions. By default all actions are visible. | | \ No newline at end of file diff --git a/docs/Models/Components/Settings.md b/docs/Models/Components/Settings.md new file mode 100644 index 00000000..73bf5d86 --- /dev/null +++ b/docs/Models/Components/Settings.md @@ -0,0 +1,9 @@ +# Settings + +Connection settings. Values will persist to `form_fields` with corresponding id + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/Models/Components/SharedLink.md b/docs/Models/Components/SharedLink.md new file mode 100644 index 00000000..0085c5f0 --- /dev/null +++ b/docs/Models/Components/SharedLink.md @@ -0,0 +1,16 @@ +# SharedLink + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Url` | *string* | :heavy_minus_sign: | The URL that can be used to view the file. | https://www.box.com/s/vspke7y05sb214wjokpk | +| `DownloadUrl` | *string* | :heavy_minus_sign: | The URL that can be used to download the file. | https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg | +| `Target` | [SharedLinkTarget](../../Models/Components/SharedLinkTarget.md) | :heavy_minus_sign: | N/A | | +| `Scope` | [Scope](../../Models/Components/Scope.md) | :heavy_minus_sign: | The scope of the shared link. | company | +| `PasswordProtected` | *bool* | :heavy_minus_sign: | Indicated if the shared link is password protected. | | +| `ExpiresAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2022-09-30T07:43:32.000Z | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/SharedLinkInput.md b/docs/Models/Components/SharedLinkInput.md new file mode 100644 index 00000000..e974b7a5 --- /dev/null +++ b/docs/Models/Components/SharedLinkInput.md @@ -0,0 +1,12 @@ +# SharedLinkInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `DownloadUrl` | *string* | :heavy_minus_sign: | The URL that can be used to download the file. | https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg | +| `TargetId` | *string* | :heavy_check_mark: | The ID of the file or folder to link. | | +| `Scope` | [Scope](../../Models/Components/Scope.md) | :heavy_minus_sign: | The scope of the shared link. | company | +| `Password` | *string* | :heavy_minus_sign: | Optional password for the shared link. | | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/SharedLinkTarget.md b/docs/Models/Components/SharedLinkTarget.md new file mode 100644 index 00000000..386469f9 --- /dev/null +++ b/docs/Models/Components/SharedLinkTarget.md @@ -0,0 +1,10 @@ +# SharedLinkTarget + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the file | sample.jpg | +| `Type` | [FileType](../../Models/Components/FileType.md) | :heavy_minus_sign: | The type of resource. Could be file, folder or url | file | \ No newline at end of file diff --git a/docs/Models/Components/ShowAs.md b/docs/Models/Components/ShowAs.md new file mode 100644 index 00000000..76383280 --- /dev/null +++ b/docs/Models/Components/ShowAs.md @@ -0,0 +1,9 @@ +# ShowAs + + +## Values + +| Name | Value | +| ------ | ------ | +| `Free` | free | +| `Busy` | busy | \ No newline at end of file diff --git a/docs/Models/Components/SimpleFormFieldOption.md b/docs/Models/Components/SimpleFormFieldOption.md new file mode 100644 index 00000000..afb8922e --- /dev/null +++ b/docs/Models/Components/SimpleFormFieldOption.md @@ -0,0 +1,9 @@ +# SimpleFormFieldOption + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `Label` | *string* | :heavy_minus_sign: | N/A | General Channel | +| `Value` | [SimpleFormFieldOptionValue](../../Models/Components/SimpleFormFieldOptionValue.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/SimpleFormFieldOptionValue.md b/docs/Models/Components/SimpleFormFieldOptionValue.md new file mode 100644 index 00000000..aaf80732 --- /dev/null +++ b/docs/Models/Components/SimpleFormFieldOptionValue.md @@ -0,0 +1,34 @@ +# SimpleFormFieldOptionValue + + +## Supported Types + +### Str + +```csharp +SimpleFormFieldOptionValue.CreateStr(/* values here */); +``` + +### Integer + +```csharp +SimpleFormFieldOptionValue.CreateInteger(/* values here */); +``` + +### Number + +```csharp +SimpleFormFieldOptionValue.CreateNumber(/* values here */); +``` + +### Boolean + +```csharp +SimpleFormFieldOptionValue.CreateBoolean(/* values here */); +``` + +### ArrayOf5 + +```csharp +SimpleFormFieldOptionValue.CreateArrayOf5(/* values here */); +``` diff --git a/docs/Models/Components/Six.md b/docs/Models/Components/Six.md new file mode 100644 index 00000000..17b0802b --- /dev/null +++ b/docs/Models/Components/Six.md @@ -0,0 +1,7 @@ +# Six + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/Models/Components/SocialLink.md b/docs/Models/Components/SocialLink.md new file mode 100644 index 00000000..ab68df14 --- /dev/null +++ b/docs/Models/Components/SocialLink.md @@ -0,0 +1,10 @@ +# SocialLink + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | Unique identifier of the social link | 12345 | +| `Url` | *string* | :heavy_check_mark: | URL of the social link, e.g. https://www.twitter.com/apideck | https://www.twitter.com/apideck | +| `Type` | *string* | :heavy_minus_sign: | Type of the social link, e.g. twitter | twitter | \ No newline at end of file diff --git a/docs/Models/Components/SocialLinks.md b/docs/Models/Components/SocialLinks.md new file mode 100644 index 00000000..4a49f57e --- /dev/null +++ b/docs/Models/Components/SocialLinks.md @@ -0,0 +1,10 @@ +# SocialLinks + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | Unique identifier of the social link | 12345 | +| `Url` | *string* | :heavy_check_mark: | URL of the social link, e.g. https://www.twitter.com/apideck | https://www.twitter.com/apideck | +| `Type` | *string* | :heavy_minus_sign: | Type of the social link, e.g. twitter | twitter | \ No newline at end of file diff --git a/docs/Models/Components/SortDirection.md b/docs/Models/Components/SortDirection.md new file mode 100644 index 00000000..d5dc1f8b --- /dev/null +++ b/docs/Models/Components/SortDirection.md @@ -0,0 +1,11 @@ +# SortDirection + +The direction in which to sort the results + + +## Values + +| Name | Value | +| ------ | ------ | +| `Asc` | asc | +| `Desc` | desc | \ No newline at end of file diff --git a/docs/Models/Components/Stage.md b/docs/Models/Components/Stage.md new file mode 100644 index 00000000..f9169d1e --- /dev/null +++ b/docs/Models/Components/Stage.md @@ -0,0 +1,9 @@ +# Stage + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | Stage the candidate should be in. If omitted, the default stage for this job will be used. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | N/A | 12345 | \ No newline at end of file diff --git a/docs/Models/Components/Stages.md b/docs/Models/Components/Stages.md new file mode 100644 index 00000000..efaef51f --- /dev/null +++ b/docs/Models/Components/Stages.md @@ -0,0 +1,12 @@ +# Stages + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The unique identifier of the Pipeline Stage. | contractsent | +| `Name` | *string* | :heavy_minus_sign: | The name of the Pipeline Stage. | Contract Sent | +| `Value` | *string* | :heavy_minus_sign: | The value of the Pipeline Stage. | CONTRACT_SENT | +| `WinProbability` | *long* | :heavy_minus_sign: | The expected probability of winning an Opportunity in this Pipeline Stage. Valid values are [0-100]. | 50 | +| `DisplayOrder` | *long* | :heavy_minus_sign: | The order in which the Pipeline Stage is displayed in the UI. | 1 | \ No newline at end of file diff --git a/docs/Models/Components/Status.md b/docs/Models/Components/Status.md new file mode 100644 index 00000000..2c83ac4e --- /dev/null +++ b/docs/Models/Components/Status.md @@ -0,0 +1,11 @@ +# Status + +The status of the webhook. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Enabled` | enabled | +| `Disabled` | disabled | \ No newline at end of file diff --git a/docs/Models/Components/SubAccounts.md b/docs/Models/Components/SubAccounts.md new file mode 100644 index 00000000..58af1903 --- /dev/null +++ b/docs/Models/Components/SubAccounts.md @@ -0,0 +1,9 @@ +# SubAccounts + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The ID of the sub account. | 12345 | +| `AccountSubName` | *string* | :heavy_minus_sign: | The name of the sub account. | Petty Cash | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionLevel.md b/docs/Models/Components/SubscriptionLevel.md new file mode 100644 index 00000000..c029e77c --- /dev/null +++ b/docs/Models/Components/SubscriptionLevel.md @@ -0,0 +1,11 @@ +# SubscriptionLevel + +Received events are scoped to connection or across integration. + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `Connection` | connection | +| `Integration` | integration | \ No newline at end of file diff --git a/docs/Models/Components/Subsidiaries.md b/docs/Models/Components/Subsidiaries.md new file mode 100644 index 00000000..08484da4 --- /dev/null +++ b/docs/Models/Components/Subsidiaries.md @@ -0,0 +1,8 @@ +# Subsidiaries + + +## Fields + +| Field | Type | Required | Description | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The ID of the subsidiary. | \ No newline at end of file diff --git a/docs/Models/Components/Subsidiary.md b/docs/Models/Components/Subsidiary.md new file mode 100644 index 00000000..b29ceec2 --- /dev/null +++ b/docs/Models/Components/Subsidiary.md @@ -0,0 +1,18 @@ +# Subsidiary + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `ParentId` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the company. | SpaceX | +| `Status` | [SubsidiaryStatus](../../Models/Components/SubsidiaryStatus.md) | :heavy_minus_sign: | Based on the status some functionality is enabled or disabled. | active | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/SubsidiaryInput.md b/docs/Models/Components/SubsidiaryInput.md new file mode 100644 index 00000000..5bb3ff18 --- /dev/null +++ b/docs/Models/Components/SubsidiaryInput.md @@ -0,0 +1,12 @@ +# SubsidiaryInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ParentId` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the company. | SpaceX | +| `Status` | [SubsidiaryStatus](../../Models/Components/SubsidiaryStatus.md) | :heavy_minus_sign: | Based on the status some functionality is enabled or disabled. | active | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/SubsidiaryReference.md b/docs/Models/Components/SubsidiaryReference.md new file mode 100644 index 00000000..208dcd40 --- /dev/null +++ b/docs/Models/Components/SubsidiaryReference.md @@ -0,0 +1,9 @@ +# SubsidiaryReference + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the company. | SpaceX | \ No newline at end of file diff --git a/docs/Models/Components/SubsidiaryReferenceInput.md b/docs/Models/Components/SubsidiaryReferenceInput.md new file mode 100644 index 00000000..15162cfe --- /dev/null +++ b/docs/Models/Components/SubsidiaryReferenceInput.md @@ -0,0 +1,8 @@ +# SubsidiaryReferenceInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `Name` | *string* | :heavy_minus_sign: | The name of the company. | SpaceX | \ No newline at end of file diff --git a/docs/Models/Components/SubsidiaryStatus.md b/docs/Models/Components/SubsidiaryStatus.md new file mode 100644 index 00000000..75c5461d --- /dev/null +++ b/docs/Models/Components/SubsidiaryStatus.md @@ -0,0 +1,11 @@ +# SubsidiaryStatus + +Based on the status some functionality is enabled or disabled. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Active` | active | +| `Inactive` | inactive | \ No newline at end of file diff --git a/docs/Models/Components/Supplier.md b/docs/Models/Components/Supplier.md new file mode 100644 index 00000000..94953c96 --- /dev/null +++ b/docs/Models/Components/Supplier.md @@ -0,0 +1,39 @@ +# Supplier + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `DownstreamId` | *string* | :heavy_minus_sign: | The third-party API ID of original entity | 12345 | +| `DisplayId` | *string* | :heavy_minus_sign: | Display ID | EMP00101 | +| `DisplayName` | *string* | :heavy_minus_sign: | Display name | Windsurf Shop | +| `CompanyName` | *string* | :heavy_minus_sign: | The name of the company. | SpaceX | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `Title` | *string* | :heavy_minus_sign: | The job title of the person. | CEO | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the person. | Elon | +| `MiddleName` | *string* | :heavy_minus_sign: | Middle name of the person. | D. | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the person. | Musk | +| `Suffix` | *string* | :heavy_minus_sign: | N/A | Jr. | +| `Individual` | *bool* | :heavy_minus_sign: | Is this an individual or business supplier | true | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `Websites` | List<[Website](../../Models/Components/Website.md)> | :heavy_minus_sign: | N/A | | +| `BankAccounts` | List<[BankAccount](../../Models/Components/BankAccount.md)> | :heavy_minus_sign: | N/A | | +| `Notes` | *string* | :heavy_minus_sign: | Some notes about this supplier | Some notes about this supplier | +| `TaxRate` | [LinkedTaxRate](../../Models/Components/LinkedTaxRate.md) | :heavy_minus_sign: | N/A | | +| `TaxNumber` | *string* | :heavy_minus_sign: | N/A | US123945459 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Account` | [LinkedLedgerAccount](../../Models/Components/LinkedLedgerAccount.md) | :heavy_minus_sign: | N/A | | +| `Status` | [SupplierStatus](../../Models/Components/SupplierStatus.md) | :heavy_minus_sign: | Supplier status | active | +| `PaymentMethod` | *string* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `Channel` | *string* | :heavy_minus_sign: | The channel through which the transaction is processed. | email | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/SupplierInput.md b/docs/Models/Components/SupplierInput.md new file mode 100644 index 00000000..905db0d5 --- /dev/null +++ b/docs/Models/Components/SupplierInput.md @@ -0,0 +1,32 @@ +# SupplierInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `DisplayId` | *string* | :heavy_minus_sign: | Display ID | EMP00101 | +| `DisplayName` | *string* | :heavy_minus_sign: | Display name | Windsurf Shop | +| `CompanyName` | *string* | :heavy_minus_sign: | The name of the company. | SpaceX | +| `CompanyId` | *string* | :heavy_minus_sign: | The company or subsidiary id the transaction belongs to | 12345 | +| `Title` | *string* | :heavy_minus_sign: | The job title of the person. | CEO | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the person. | Elon | +| `MiddleName` | *string* | :heavy_minus_sign: | Middle name of the person. | D. | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the person. | Musk | +| `Suffix` | *string* | :heavy_minus_sign: | N/A | Jr. | +| `Individual` | *bool* | :heavy_minus_sign: | Is this an individual or business supplier | true | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_minus_sign: | N/A | | +| `Websites` | List<[Website](../../Models/Components/Website.md)> | :heavy_minus_sign: | N/A | | +| `BankAccounts` | List<[BankAccount](../../Models/Components/BankAccount.md)> | :heavy_minus_sign: | N/A | | +| `Notes` | *string* | :heavy_minus_sign: | Some notes about this supplier | Some notes about this supplier | +| `TaxRate` | [LinkedTaxRateInput](../../Models/Components/LinkedTaxRateInput.md) | :heavy_minus_sign: | N/A | | +| `TaxNumber` | *string* | :heavy_minus_sign: | N/A | US123945459 | +| `Currency` | [Currency](../../Models/Components/Currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `Account` | [LinkedLedgerAccountInput](../../Models/Components/LinkedLedgerAccountInput.md) | :heavy_minus_sign: | N/A | | +| `Status` | [SupplierStatus](../../Models/Components/SupplierStatus.md) | :heavy_minus_sign: | Supplier status | active | +| `PaymentMethod` | *string* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `Channel` | *string* | :heavy_minus_sign: | The channel through which the transaction is processed. | email | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/SupplierStatus.md b/docs/Models/Components/SupplierStatus.md new file mode 100644 index 00000000..b8fe1ba5 --- /dev/null +++ b/docs/Models/Components/SupplierStatus.md @@ -0,0 +1,14 @@ +# SupplierStatus + +Supplier status + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `Active` | active | +| `Inactive` | inactive | +| `Archived` | archived | +| `GdprErasureRequest` | gdpr-erasure-request | +| `Unknown` | unknown | \ No newline at end of file diff --git a/docs/Models/Components/SuppliersFilter.md b/docs/Models/Components/SuppliersFilter.md new file mode 100644 index 00000000..4077cedd --- /dev/null +++ b/docs/Models/Components/SuppliersFilter.md @@ -0,0 +1,13 @@ +# SuppliersFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `CompanyName` | *string* | :heavy_minus_sign: | Company Name of supplier to search for | SpaceX | +| `DisplayName` | *string* | :heavy_minus_sign: | Display Name of supplier to search for | Techno King | +| `FirstName` | *string* | :heavy_minus_sign: | First name of supplier to search for | Elon | +| `LastName` | *string* | :heavy_minus_sign: | Last name of supplier to search for | Musk | +| `Email` | *string* | :heavy_minus_sign: | Email of supplier to search for | elon@spacex.com | +| `UpdatedSince` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/SuppliersSort.md b/docs/Models/Components/SuppliersSort.md new file mode 100644 index 00000000..470103ea --- /dev/null +++ b/docs/Models/Components/SuppliersSort.md @@ -0,0 +1,9 @@ +# SuppliersSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `By` | [SuppliersSortBy](../../Models/Components/SuppliersSortBy.md) | :heavy_minus_sign: | The field on which to sort the Suppliers | updated_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/SuppliersSortBy.md b/docs/Models/Components/SuppliersSortBy.md new file mode 100644 index 00000000..86cafc68 --- /dev/null +++ b/docs/Models/Components/SuppliersSortBy.md @@ -0,0 +1,11 @@ +# SuppliersSortBy + +The field on which to sort the Suppliers + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | \ No newline at end of file diff --git a/docs/Models/Components/SupportedProperty.md b/docs/Models/Components/SupportedProperty.md new file mode 100644 index 00000000..5bed90e1 --- /dev/null +++ b/docs/Models/Components/SupportedProperty.md @@ -0,0 +1,9 @@ +# SupportedProperty + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `UnifiedProperty` | *string* | :heavy_minus_sign: | Name of the property in our Unified API. | owner_id | +| `ChildProperties` | List<[SupportedProperty](../../Models/Components/SupportedProperty.md)> | :heavy_minus_sign: | List of child properties of the unified property. | | \ No newline at end of file diff --git a/docs/Models/Components/Target.md b/docs/Models/Components/Target.md new file mode 100644 index 00000000..7091739f --- /dev/null +++ b/docs/Models/Components/Target.md @@ -0,0 +1,9 @@ +# Target + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `CustomFields` | custom_fields | +| `Resource` | resource | \ No newline at end of file diff --git a/docs/Models/Components/Tax.md b/docs/Models/Components/Tax.md new file mode 100644 index 00000000..45a70aba --- /dev/null +++ b/docs/Models/Components/Tax.md @@ -0,0 +1,10 @@ +# Tax + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `Name` | *string* | :heavy_minus_sign: | The name of the tax. | CA State Income Tax | +| `Employer` | *bool* | :heavy_minus_sign: | Paid by employer. | false | +| `Amount` | *double* | :heavy_minus_sign: | The amount of the tax. | 1.97 | \ No newline at end of file diff --git a/docs/Models/Components/TaxRate.md b/docs/Models/Components/TaxRate.md new file mode 100644 index 00000000..13b825d4 --- /dev/null +++ b/docs/Models/Components/TaxRate.md @@ -0,0 +1,27 @@ +# TaxRate + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | ID assigned to identify this tax rate. | 1234 | +| `Name` | *string* | :heavy_minus_sign: | Name assigned to identify this tax rate. | GST on Purchases | +| `Code` | *string* | :heavy_minus_sign: | Tax code assigned to identify this tax rate. | ABN | +| `Description` | *string* | :heavy_minus_sign: | Description of tax rate | Reduced rate GST Purchases | +| `EffectiveTaxRate` | *double* | :heavy_minus_sign: | Effective tax rate | 10 | +| `TotalTaxRate` | *double* | :heavy_minus_sign: | Not compounded sum of the components of a tax rate | 10 | +| `TaxPayableAccountId` | *string* | :heavy_minus_sign: | Unique identifier for the account for tax collected. | 123456 | +| `TaxRemittedAccountId` | *string* | :heavy_minus_sign: | Unique identifier for the account for tax remitted. | 123456 | +| `Components` | List<[Components](../../Models/Components/Components.md)> | :heavy_minus_sign: | N/A | | +| `Type` | *string* | :heavy_minus_sign: | Tax type used to indicate the source of tax collected or paid | NONE | +| `ReportTaxType` | *string* | :heavy_minus_sign: | Report Tax type to aggregate tax collected or paid for reporting purposes | NONE | +| `OriginalTaxRateId` | *string* | :heavy_minus_sign: | ID of the original tax rate from which the new tax rate is derived. Helps to understand the relationship between corresponding tax rate entities. | 12345 | +| `Status` | [TaxRateStatus](../../Models/Components/TaxRateStatus.md) | :heavy_minus_sign: | Tax rate status | active | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/TaxRateInput.md b/docs/Models/Components/TaxRateInput.md new file mode 100644 index 00000000..631da885 --- /dev/null +++ b/docs/Models/Components/TaxRateInput.md @@ -0,0 +1,22 @@ +# TaxRateInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | ID assigned to identify this tax rate. | 1234 | +| `Name` | *string* | :heavy_minus_sign: | Name assigned to identify this tax rate. | GST on Purchases | +| `Code` | *string* | :heavy_minus_sign: | Tax code assigned to identify this tax rate. | ABN | +| `Description` | *string* | :heavy_minus_sign: | Description of tax rate | Reduced rate GST Purchases | +| `EffectiveTaxRate` | *double* | :heavy_minus_sign: | Effective tax rate | 10 | +| `TotalTaxRate` | *double* | :heavy_minus_sign: | Not compounded sum of the components of a tax rate | 10 | +| `TaxPayableAccountId` | *string* | :heavy_minus_sign: | Unique identifier for the account for tax collected. | 123456 | +| `TaxRemittedAccountId` | *string* | :heavy_minus_sign: | Unique identifier for the account for tax remitted. | 123456 | +| `Components` | List<[Components](../../Models/Components/Components.md)> | :heavy_minus_sign: | N/A | | +| `Type` | *string* | :heavy_minus_sign: | Tax type used to indicate the source of tax collected or paid | NONE | +| `ReportTaxType` | *string* | :heavy_minus_sign: | Report Tax type to aggregate tax collected or paid for reporting purposes | NONE | +| `OriginalTaxRateId` | *string* | :heavy_minus_sign: | ID of the original tax rate from which the new tax rate is derived. Helps to understand the relationship between corresponding tax rate entities. | 12345 | +| `Status` | [TaxRateStatus](../../Models/Components/TaxRateStatus.md) | :heavy_minus_sign: | Tax rate status | active | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/TaxRateStatus.md b/docs/Models/Components/TaxRateStatus.md new file mode 100644 index 00000000..f1effaad --- /dev/null +++ b/docs/Models/Components/TaxRateStatus.md @@ -0,0 +1,12 @@ +# TaxRateStatus + +Tax rate status + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Active` | active | +| `Inactive` | inactive | +| `Archived` | archived | \ No newline at end of file diff --git a/docs/Models/Components/TaxRatesFilter.md b/docs/Models/Components/TaxRatesFilter.md new file mode 100644 index 00000000..9bba31f3 --- /dev/null +++ b/docs/Models/Components/TaxRatesFilter.md @@ -0,0 +1,12 @@ +# TaxRatesFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `Assets` | *bool* | :heavy_minus_sign: | Boolean to describe if tax rate can be used for asset accounts | true | +| `Equity` | *bool* | :heavy_minus_sign: | Boolean to describe if tax rate can be used for equity accounts | true | +| `Expenses` | *bool* | :heavy_minus_sign: | Boolean to describe if tax rate can be used for expense accounts | true | +| `Liabilities` | *bool* | :heavy_minus_sign: | Boolean to describe if tax rate can be used for liability accounts | true | +| `Revenue` | *bool* | :heavy_minus_sign: | Boolean to describe if tax rate can be used for revenue accounts | true | \ No newline at end of file diff --git a/docs/Models/Components/Team.md b/docs/Models/Components/Team.md new file mode 100644 index 00000000..80f772d3 --- /dev/null +++ b/docs/Models/Components/Team.md @@ -0,0 +1,11 @@ +# Team + +The team the person is currently in. + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The unique identifier of the team. | 1234 | +| `Name` | *string* | :heavy_minus_sign: | The name of the team. | Full Stack Engineers | \ No newline at end of file diff --git a/docs/Models/Components/TheStartMonthOfFiscalYear.md b/docs/Models/Components/TheStartMonthOfFiscalYear.md new file mode 100644 index 00000000..ebb2ea89 --- /dev/null +++ b/docs/Models/Components/TheStartMonthOfFiscalYear.md @@ -0,0 +1,21 @@ +# TheStartMonthOfFiscalYear + +The start month of fiscal year. + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `January` | January | +| `February` | February | +| `March` | March | +| `April` | April | +| `May` | May | +| `June` | June | +| `July` | July | +| `August` | August | +| `September` | September | +| `October` | October | +| `November` | November | +| `December` | December | \ No newline at end of file diff --git a/docs/Models/Components/Theme.md b/docs/Models/Components/Theme.md new file mode 100644 index 00000000..d8a8a14b --- /dev/null +++ b/docs/Models/Components/Theme.md @@ -0,0 +1,17 @@ +# Theme + +Theming options to change the look and feel of Vault. + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `Favicon` | *string* | :heavy_minus_sign: | The URL to the favicon to use for Vault. | https://res.cloudinary.com/apideck/icons/intercom | +| `Logo` | *string* | :heavy_minus_sign: | The URL to the logo to use for Vault. | https://res.cloudinary.com/apideck/icons/intercom | +| `PrimaryColor` | *string* | :heavy_minus_sign: | The primary color to use for Vault. | #286efa | +| `SidepanelBackgroundColor` | *string* | :heavy_minus_sign: | The background color to use for the sidebar. | #286efa | +| `SidepanelTextColor` | *string* | :heavy_minus_sign: | The text color to use for the sidebar. | #FFFFFF | +| `VaultName` | *string* | :heavy_minus_sign: | The name that will be shown in the sidebar. | Intercom | +| `PrivacyUrl` | *string* | :heavy_minus_sign: | The URL to the privacy policy that will be shown in the sidebar. | https://compliance.apideck.com/privacy-policy | +| `TermsUrl` | *string* | :heavy_minus_sign: | The URL to the terms and conditions that will be shown in the sidebar. | https://www.termsfeed.com/terms-conditions/957c85c1b089ae9e3219c83eff65377e | \ No newline at end of file diff --git a/docs/Models/Components/Ticket.md b/docs/Models/Components/Ticket.md new file mode 100644 index 00000000..40fc2e80 --- /dev/null +++ b/docs/Models/Components/Ticket.md @@ -0,0 +1,24 @@ +# Ticket + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `ParentId` | *string* | :heavy_minus_sign: | The ticket's parent ID | 12345 | +| `CollectionId` | *string* | :heavy_minus_sign: | The ticket's collection ID | 12345 | +| `Type` | *string* | :heavy_minus_sign: | The ticket's type | Technical | +| `Subject` | *string* | :heavy_minus_sign: | Subject of the ticket | Technical Support Request | +| `Description` | *string* | :heavy_minus_sign: | The ticket's description. HTML version of description is mapped if supported by the third-party platform | I am facing issues with my internet connection | +| `Status` | *string* | :heavy_minus_sign: | The current status of the ticket. Possible values include: open, in_progress, closed, or - in cases where there is no clear mapping - the original value passed through. | open | +| `Priority` | [Priority](../../Models/Components/Priority.md) | :heavy_minus_sign: | Priority of the ticket | high | +| `Assignees` | List<[Assignee](../../Models/Components/Assignee.md)> | :heavy_minus_sign: | N/A | | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `DueDate` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | Due date of the ticket | 2020-09-30T07:43:32.000Z | +| `CompletedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | When the ticket was completed | 2020-09-30T07:43:32.000Z | +| `Tags` | List<[CollectionTag](../../Models/Components/CollectionTag.md)> | :heavy_minus_sign: | N/A | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/TicketInput.md b/docs/Models/Components/TicketInput.md new file mode 100644 index 00000000..5d94ff28 --- /dev/null +++ b/docs/Models/Components/TicketInput.md @@ -0,0 +1,17 @@ +# TicketInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `ParentId` | *string* | :heavy_minus_sign: | The ticket's parent ID | 12345 | +| `Type` | *string* | :heavy_minus_sign: | The ticket's type | Technical | +| `Subject` | *string* | :heavy_minus_sign: | Subject of the ticket | Technical Support Request | +| `Description` | *string* | :heavy_minus_sign: | The ticket's description. HTML version of description is mapped if supported by the third-party platform | I am facing issues with my internet connection | +| `Status` | *string* | :heavy_minus_sign: | The current status of the ticket. Possible values include: open, in_progress, closed, or - in cases where there is no clear mapping - the original value passed through. | open | +| `Priority` | [Priority](../../Models/Components/Priority.md) | :heavy_minus_sign: | Priority of the ticket | high | +| `Assignees` | List<[AssigneeInput](../../Models/Components/AssigneeInput.md)> | :heavy_minus_sign: | N/A | | +| `DueDate` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | Due date of the ticket | 2020-09-30T07:43:32.000Z | +| `Tags` | List<[CollectionTagInput](../../Models/Components/CollectionTagInput.md)> | :heavy_minus_sign: | N/A | | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/TicketsSort.md b/docs/Models/Components/TicketsSort.md new file mode 100644 index 00000000..7810b814 --- /dev/null +++ b/docs/Models/Components/TicketsSort.md @@ -0,0 +1,9 @@ +# TicketsSort + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `By` | [TicketsSortBy](../../Models/Components/TicketsSortBy.md) | :heavy_minus_sign: | The field on which to sort the Tickets | created_at | +| `Direction` | [SortDirection](../../Models/Components/SortDirection.md) | :heavy_minus_sign: | The direction in which to sort the results | | \ No newline at end of file diff --git a/docs/Models/Components/TicketsSortBy.md b/docs/Models/Components/TicketsSortBy.md new file mode 100644 index 00000000..a13cc9e2 --- /dev/null +++ b/docs/Models/Components/TicketsSortBy.md @@ -0,0 +1,11 @@ +# TicketsSortBy + +The field on which to sort the Tickets + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CreatedAt` | created_at | +| `UpdatedAt` | updated_at | \ No newline at end of file diff --git a/docs/Models/Components/TimeOffRequest.md b/docs/Models/Components/TimeOffRequest.md new file mode 100644 index 00000000..9373cbc5 --- /dev/null +++ b/docs/Models/Components/TimeOffRequest.md @@ -0,0 +1,28 @@ +# TimeOffRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `EmployeeId` | *string* | :heavy_minus_sign: | ID of the employee | 12345 | +| `PolicyId` | *string* | :heavy_minus_sign: | ID of the policy | 12345 | +| `Status` | [TimeOffRequestStatusStatus](../../Models/Components/TimeOffRequestStatusStatus.md) | :heavy_minus_sign: | The status of the time off request. | approved | +| `Description` | *string* | :heavy_minus_sign: | Description of the time off request. | Enjoying some sun. | +| `StartDate` | *string* | :heavy_minus_sign: | The start date of the time off request. | 2022-04-01 | +| `EndDate` | *string* | :heavy_minus_sign: | The end date of the time off request. | 2022-04-01 | +| `RequestDate` | *string* | :heavy_minus_sign: | The date the request was made. | 2022-03-21 | +| `RequestType` | [RequestType](../../Models/Components/RequestType.md) | :heavy_minus_sign: | The type of request | vacation | +| `ApprovalDate` | *string* | :heavy_minus_sign: | The date the request was approved | 2022-03-21 | +| `Units` | [Units](../../Models/Components/Units.md) | :heavy_minus_sign: | The unit of time off requested. Possible values include: `hours`, `days`, or `other`. | hours | +| `Amount` | *double* | :heavy_minus_sign: | The amount of time off requested. | 3.5 | +| `DayPart` | *string* | :heavy_minus_sign: | The day part of the time off request. | morning | +| `Notes` | [Models.Components.Notes](../../Models/Components/Notes.md) | :heavy_minus_sign: | N/A | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | +| `PolicyType` | *string* | :heavy_minus_sign: | The policy type of the time off request | sick | \ No newline at end of file diff --git a/docs/Models/Components/TimeOffRequestInput.md b/docs/Models/Components/TimeOffRequestInput.md new file mode 100644 index 00000000..4a837b90 --- /dev/null +++ b/docs/Models/Components/TimeOffRequestInput.md @@ -0,0 +1,22 @@ +# TimeOffRequestInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `EmployeeId` | *string* | :heavy_minus_sign: | ID of the employee | 12345 | +| `PolicyId` | *string* | :heavy_minus_sign: | ID of the policy | 12345 | +| `Status` | [TimeOffRequestStatusStatus](../../Models/Components/TimeOffRequestStatusStatus.md) | :heavy_minus_sign: | The status of the time off request. | approved | +| `Description` | *string* | :heavy_minus_sign: | Description of the time off request. | Enjoying some sun. | +| `StartDate` | *string* | :heavy_minus_sign: | The start date of the time off request. | 2022-04-01 | +| `EndDate` | *string* | :heavy_minus_sign: | The end date of the time off request. | 2022-04-01 | +| `RequestDate` | *string* | :heavy_minus_sign: | The date the request was made. | 2022-03-21 | +| `RequestType` | [RequestType](../../Models/Components/RequestType.md) | :heavy_minus_sign: | The type of request | vacation | +| `ApprovalDate` | *string* | :heavy_minus_sign: | The date the request was approved | 2022-03-21 | +| `Units` | [Units](../../Models/Components/Units.md) | :heavy_minus_sign: | The unit of time off requested. Possible values include: `hours`, `days`, or `other`. | hours | +| `Amount` | *double* | :heavy_minus_sign: | The amount of time off requested. | 3.5 | +| `DayPart` | *string* | :heavy_minus_sign: | The day part of the time off request. | morning | +| `Notes` | [Models.Components.Notes](../../Models/Components/Notes.md) | :heavy_minus_sign: | N/A | | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | +| `PolicyType` | *string* | :heavy_minus_sign: | The policy type of the time off request | sick | \ No newline at end of file diff --git a/docs/Models/Components/TimeOffRequestStatus.md b/docs/Models/Components/TimeOffRequestStatus.md new file mode 100644 index 00000000..77780f9e --- /dev/null +++ b/docs/Models/Components/TimeOffRequestStatus.md @@ -0,0 +1,15 @@ +# TimeOffRequestStatus + +Time off request status to filter on + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Requested` | requested | +| `Approved` | approved | +| `Declined` | declined | +| `Cancelled` | cancelled | +| `Deleted` | deleted | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/TimeOffRequestStatusStatus.md b/docs/Models/Components/TimeOffRequestStatusStatus.md new file mode 100644 index 00000000..fd346374 --- /dev/null +++ b/docs/Models/Components/TimeOffRequestStatusStatus.md @@ -0,0 +1,15 @@ +# TimeOffRequestStatusStatus + +The status of the time off request. + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Requested` | requested | +| `Approved` | approved | +| `Declined` | declined | +| `Cancelled` | cancelled | +| `Deleted` | deleted | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/TimeOffRequestsFilter.md b/docs/Models/Components/TimeOffRequestsFilter.md new file mode 100644 index 00000000..ae96cc46 --- /dev/null +++ b/docs/Models/Components/TimeOffRequestsFilter.md @@ -0,0 +1,13 @@ +# TimeOffRequestsFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `StartDate` | *string* | :heavy_minus_sign: | Start date | 2022-04-08 | +| `EndDate` | *string* | :heavy_minus_sign: | End date | 2022-04-21 | +| `UpdatedSince` | *string* | :heavy_minus_sign: | Minimum date the time off request was last created or modified | 2020-09-30T07:43:32.000Z | +| `EmployeeId` | *string* | :heavy_minus_sign: | Employee ID | 1234 | +| `TimeOffRequestStatus` | [TimeOffRequestStatus](../../Models/Components/TimeOffRequestStatus.md) | :heavy_minus_sign: | Time off request status to filter on | requested | +| `CompanyId` | *string* | :heavy_minus_sign: | Company ID | 1234 | \ No newline at end of file diff --git a/docs/Models/Components/TlsSupport.md b/docs/Models/Components/TlsSupport.md new file mode 100644 index 00000000..16f773f7 --- /dev/null +++ b/docs/Models/Components/TlsSupport.md @@ -0,0 +1,9 @@ +# TlsSupport + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | +| `Type` | *string* | :heavy_minus_sign: | N/A | +| `Description` | *string* | :heavy_minus_sign: | Description of the TLS support | \ No newline at end of file diff --git a/docs/Models/Components/TrackingCategory.md b/docs/Models/Components/TrackingCategory.md new file mode 100644 index 00000000..79e9ba3d --- /dev/null +++ b/docs/Models/Components/TrackingCategory.md @@ -0,0 +1,19 @@ +# TrackingCategory + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `ParentId` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the tracking category. | Department | +| `Code` | *string* | :heavy_minus_sign: | The code of the tracking category. | 100 | +| `Status` | [TrackingCategoryStatus](../../Models/Components/TrackingCategoryStatus.md) | :heavy_minus_sign: | Based on the status some functionality is enabled or disabled. | active | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/TrackingCategoryInput.md b/docs/Models/Components/TrackingCategoryInput.md new file mode 100644 index 00000000..d3825c91 --- /dev/null +++ b/docs/Models/Components/TrackingCategoryInput.md @@ -0,0 +1,13 @@ +# TrackingCategoryInput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ParentId` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Name` | *string* | :heavy_minus_sign: | The name of the tracking category. | Department | +| `Code` | *string* | :heavy_minus_sign: | The code of the tracking category. | 100 | +| `Status` | [TrackingCategoryStatus](../../Models/Components/TrackingCategoryStatus.md) | :heavy_minus_sign: | Based on the status some functionality is enabled or disabled. | active | +| `RowVersion` | *string* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/TrackingCategoryStatus.md b/docs/Models/Components/TrackingCategoryStatus.md new file mode 100644 index 00000000..7f3c4c7d --- /dev/null +++ b/docs/Models/Components/TrackingCategoryStatus.md @@ -0,0 +1,11 @@ +# TrackingCategoryStatus + +Based on the status some functionality is enabled or disabled. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Active` | active | +| `Inactive` | inactive | \ No newline at end of file diff --git a/docs/Models/Components/TrackingItem.md b/docs/Models/Components/TrackingItem.md new file mode 100644 index 00000000..d09cecba --- /dev/null +++ b/docs/Models/Components/TrackingItem.md @@ -0,0 +1,13 @@ +# TrackingItem + +Represents the tracking information associated with an ecommerce order. + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `Provider` | *string* | :heavy_check_mark: | The name or code of the carrier or shipping company that is handling the shipment. | UPS | +| `Number` | *string* | :heavy_check_mark: | The tracking number associated with the shipment, which can be used to track the progress of the delivery. | 1Z9999999999999999 | +| `Url` | *string* | :heavy_minus_sign: | The URL of the carrier's tracking page, which can be used to view detailed information about the shipment's progress. | https://www.ups.com/track?tracknum=1Z9999999999999999 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/Type.md b/docs/Models/Components/Type.md new file mode 100644 index 00000000..a1944905 --- /dev/null +++ b/docs/Models/Components/Type.md @@ -0,0 +1,16 @@ +# Type + +The type of address. + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Primary` | primary | +| `Secondary` | secondary | +| `Home` | home | +| `Office` | office | +| `Shipping` | shipping | +| `Billing` | billing | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/UnexpectedErrorResponse.md b/docs/Models/Components/UnexpectedErrorResponse.md new file mode 100644 index 00000000..a191a9e0 --- /dev/null +++ b/docs/Models/Components/UnexpectedErrorResponse.md @@ -0,0 +1,15 @@ +# UnexpectedErrorResponse + +Unexpected error + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `StatusCode` | *double* | :heavy_minus_sign: | HTTP status code | 400 | +| `Error` | *string* | :heavy_minus_sign: | Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231) | Bad Request | +| `TypeName` | *string* | :heavy_minus_sign: | The type of error returned | RequestHeadersValidationError | +| `Message` | *string* | :heavy_minus_sign: | A human-readable message providing more details about the error. | Invalid Params | +| `Detail` | [Models.Components.Detail](../../Models/Components/Detail.md) | :heavy_minus_sign: | Contains parameter or domain specific information related to the error and why it occurred. | | +| `Ref` | *string* | :heavy_minus_sign: | Link to documentation of error type | https://developers.apideck.com/errors#unauthorizederror | \ No newline at end of file diff --git a/docs/Models/Components/UnifiedApi.md b/docs/Models/Components/UnifiedApi.md new file mode 100644 index 00000000..f88ae013 --- /dev/null +++ b/docs/Models/Components/UnifiedApi.md @@ -0,0 +1,21 @@ +# UnifiedApi + +Which Unified Api request was made to. + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `Crm` | crm | +| `Lead` | lead | +| `Proxy` | proxy | +| `Vault` | vault | +| `Accounting` | accounting | +| `Hris` | hris | +| `Ats` | ats | +| `Ecommerce` | ecommerce | +| `IssueTracking` | issue-tracking | +| `Pos` | pos | +| `FileStorage` | file-storage | +| `Sms` | sms | \ No newline at end of file diff --git a/docs/Models/Components/UnifiedApiId.md b/docs/Models/Components/UnifiedApiId.md new file mode 100644 index 00000000..d76521d1 --- /dev/null +++ b/docs/Models/Components/UnifiedApiId.md @@ -0,0 +1,36 @@ +# UnifiedApiId + +Name of Apideck Unified API + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `Accounting` | accounting | +| `Ats` | ats | +| `Calendar` | calendar | +| `Crm` | crm | +| `Csp` | csp | +| `CustomerSupport` | customer-support | +| `Ecommerce` | ecommerce | +| `Email` | email | +| `EmailMarketing` | email-marketing | +| `ExpenseManagement` | expense-management | +| `FileStorage` | file-storage | +| `Form` | form | +| `Hris` | hris | +| `Lead` | lead | +| `Payroll` | payroll | +| `Pos` | pos | +| `Procurement` | procurement | +| `ProjectManagement` | project-management | +| `Script` | script | +| `Sms` | sms | +| `Spreadsheet` | spreadsheet | +| `TeamMessaging` | team-messaging | +| `IssueTracking` | issue-tracking | +| `TimeRegistration` | time-registration | +| `TransactionalEmail` | transactional-email | +| `Vault` | vault | +| `DataWarehouse` | data-warehouse | \ No newline at end of file diff --git a/docs/Models/Components/UnifiedApis.md b/docs/Models/Components/UnifiedApis.md new file mode 100644 index 00000000..51da1afc --- /dev/null +++ b/docs/Models/Components/UnifiedApis.md @@ -0,0 +1,14 @@ +# UnifiedApis + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | [UnifiedApiId](../../Models/Components/UnifiedApiId.md) | :heavy_minus_sign: | Name of Apideck Unified API | crm | +| `Name` | *string* | :heavy_minus_sign: | Name of the API. | File Storage API | +| `AuthOnly` | *bool* | :heavy_minus_sign: | Indicates whether a connector only supports authentication. In this case the connector is not mapped to a Unified API, but can be used with the Proxy API | true | +| `OauthScopes` | List<[ConnectorOauthScopes](../../Models/Components/ConnectorOauthScopes.md)> | :heavy_minus_sign: | N/A | | +| `SupportedResources` | List<[LinkedConnectorResource](../../Models/Components/LinkedConnectorResource.md)> | :heavy_minus_sign: | List of resources that are supported on the connector. | | +| `DownstreamUnsupportedResources` | List<*string*> | :heavy_minus_sign: | List of resources that are not supported on the downstream. | | +| `SupportedEvents` | List<[ConnectorEvent](../../Models/Components/ConnectorEvent.md)> | :heavy_minus_sign: | List of events that are supported on the connector for this Unified API. | | \ No newline at end of file diff --git a/docs/Models/Components/UnifiedFile.md b/docs/Models/Components/UnifiedFile.md new file mode 100644 index 00000000..ace42f82 --- /dev/null +++ b/docs/Models/Components/UnifiedFile.md @@ -0,0 +1,27 @@ +# UnifiedFile + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | A unique identifier for an object. | 12345 | +| `DownstreamId` | *string* | :heavy_minus_sign: | The third-party API ID of original entity | 12345 | +| `Name` | *string* | :heavy_check_mark: | The name of the file | sample.jpg | +| `Description` | *string* | :heavy_minus_sign: | Optional description of the file | A sample image | +| `Type` | [FileType](../../Models/Components/FileType.md) | :heavy_check_mark: | The type of resource. Could be file, folder or url | file | +| `Path` | *string* | :heavy_minus_sign: | The full path of the file or folder (includes the file name) | /Documents/sample.jpg | +| `MimeType` | *string* | :heavy_minus_sign: | The MIME type of the file. | image/jpeg | +| `Downloadable` | *bool* | :heavy_minus_sign: | Whether the current user can download this file | | +| `Size` | *long* | :heavy_minus_sign: | The size of the file in bytes | 1810673 | +| `Owner` | [Owner](../../Models/Components/Owner.md) | :heavy_minus_sign: | N/A | | +| `ParentFolders` | List<[LinkedFolder](../../Models/Components/LinkedFolder.md)> | :heavy_minus_sign: | The parent folders of the file, starting from the root | | +| `ParentFoldersComplete` | *bool* | :heavy_minus_sign: | Whether the list of parent folders is complete. Some connectors only return the direct parent of a file | | +| `Permissions` | [Permissions](../../Models/Components/Permissions.md) | :heavy_minus_sign: | Permissions the current user has on this file. | | +| `Exportable` | *bool* | :heavy_minus_sign: | Whether the current file is exportable to other file formats. This property is relevant for proprietary file formats such as Google Docs or Dropbox Paper. | | +| `ExportFormats` | List<*string*> | :heavy_minus_sign: | The available file formats when exporting this file. | [
"application/pdf",
"application/vnd.oasis.opendocument.presentation",
"text/plain"
] | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedBy` | *string* | :heavy_minus_sign: | The user who last updated the object. | 12345 | +| `CreatedBy` | *string* | :heavy_minus_sign: | The user who created the object. | 12345 | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/UnifiedId.md b/docs/Models/Components/UnifiedId.md new file mode 100644 index 00000000..e76b1d82 --- /dev/null +++ b/docs/Models/Components/UnifiedId.md @@ -0,0 +1,8 @@ +# UnifiedId + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | The unique identifier of the resource | 12345 | \ No newline at end of file diff --git a/docs/Models/Components/Unit.md b/docs/Models/Components/Unit.md new file mode 100644 index 00000000..009d974e --- /dev/null +++ b/docs/Models/Components/Unit.md @@ -0,0 +1,13 @@ +# Unit + +The window unit for the rate. + + +## Values + +| Name | Value | +| -------- | -------- | +| `Second` | second | +| `Minute` | minute | +| `Hour` | hour | +| `Day` | day | \ No newline at end of file diff --git a/docs/Models/Components/Units.md b/docs/Models/Components/Units.md new file mode 100644 index 00000000..67bbf4dc --- /dev/null +++ b/docs/Models/Components/Units.md @@ -0,0 +1,12 @@ +# Units + +The unit of time off requested. Possible values include: `hours`, `days`, or `other`. + + +## Values + +| Name | Value | +| ------- | ------- | +| `Days` | days | +| `Hours` | hours | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/UpdateAccountingDepartmentResponse.md b/docs/Models/Components/UpdateAccountingDepartmentResponse.md new file mode 100644 index 00000000..3133a750 --- /dev/null +++ b/docs/Models/Components/UpdateAccountingDepartmentResponse.md @@ -0,0 +1,15 @@ +# UpdateAccountingDepartmentResponse + +Department + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | departments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateAccountingLocationResponse.md b/docs/Models/Components/UpdateAccountingLocationResponse.md new file mode 100644 index 00000000..71b00728 --- /dev/null +++ b/docs/Models/Components/UpdateAccountingLocationResponse.md @@ -0,0 +1,15 @@ +# UpdateAccountingLocationResponse + +Location + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | locations | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateActivityResponse.md b/docs/Models/Components/UpdateActivityResponse.md new file mode 100644 index 00000000..56ed1e3d --- /dev/null +++ b/docs/Models/Components/UpdateActivityResponse.md @@ -0,0 +1,15 @@ +# UpdateActivityResponse + +Activity updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | activities | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateApplicantResponse.md b/docs/Models/Components/UpdateApplicantResponse.md new file mode 100644 index 00000000..45db449d --- /dev/null +++ b/docs/Models/Components/UpdateApplicantResponse.md @@ -0,0 +1,15 @@ +# UpdateApplicantResponse + +Applicants + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | lever | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Applicants | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateApplicationResponse.md b/docs/Models/Components/UpdateApplicationResponse.md new file mode 100644 index 00000000..c550f912 --- /dev/null +++ b/docs/Models/Components/UpdateApplicationResponse.md @@ -0,0 +1,15 @@ +# UpdateApplicationResponse + +Applications + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | sap-successfactors | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Applications | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateBillPaymentResponse.md b/docs/Models/Components/UpdateBillPaymentResponse.md new file mode 100644 index 00000000..2bc03f98 --- /dev/null +++ b/docs/Models/Components/UpdateBillPaymentResponse.md @@ -0,0 +1,15 @@ +# UpdateBillPaymentResponse + +Bill Payment updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | payments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateBillResponse.md b/docs/Models/Components/UpdateBillResponse.md new file mode 100644 index 00000000..2d8ca963 --- /dev/null +++ b/docs/Models/Components/UpdateBillResponse.md @@ -0,0 +1,15 @@ +# UpdateBillResponse + +Bill Updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | bills | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateCommentResponse.md b/docs/Models/Components/UpdateCommentResponse.md new file mode 100644 index 00000000..acc49360 --- /dev/null +++ b/docs/Models/Components/UpdateCommentResponse.md @@ -0,0 +1,15 @@ +# UpdateCommentResponse + +Update a Comment + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | github | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Tickets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateCompanyResponse.md b/docs/Models/Components/UpdateCompanyResponse.md new file mode 100644 index 00000000..b5d5d5a6 --- /dev/null +++ b/docs/Models/Components/UpdateCompanyResponse.md @@ -0,0 +1,15 @@ +# UpdateCompanyResponse + +Company updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateConnectionResponse.md b/docs/Models/Components/UpdateConnectionResponse.md new file mode 100644 index 00000000..849daf57 --- /dev/null +++ b/docs/Models/Components/UpdateConnectionResponse.md @@ -0,0 +1,12 @@ +# UpdateConnectionResponse + +Connection updated + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [Connection](../../Models/Components/Connection.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateConsumerRequest.md b/docs/Models/Components/UpdateConsumerRequest.md new file mode 100644 index 00000000..af717030 --- /dev/null +++ b/docs/Models/Components/UpdateConsumerRequest.md @@ -0,0 +1,8 @@ +# UpdateConsumerRequest + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `Metadata` | [ConsumerMetadata](../../Models/Components/ConsumerMetadata.md) | :heavy_minus_sign: | The metadata of the consumer. This is used to display the consumer in the sidebar. This is optional, but recommended. | \ No newline at end of file diff --git a/docs/Models/Components/UpdateConsumerResponse.md b/docs/Models/Components/UpdateConsumerResponse.md new file mode 100644 index 00000000..b7f77f03 --- /dev/null +++ b/docs/Models/Components/UpdateConsumerResponse.md @@ -0,0 +1,12 @@ +# UpdateConsumerResponse + +Consumer updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [Consumer](../../Models/Components/Consumer.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateContactResponse.md b/docs/Models/Components/UpdateContactResponse.md new file mode 100644 index 00000000..4454fa21 --- /dev/null +++ b/docs/Models/Components/UpdateContactResponse.md @@ -0,0 +1,15 @@ +# UpdateContactResponse + +Contact updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | contacts | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateCreditNoteResponse.md b/docs/Models/Components/UpdateCreditNoteResponse.md new file mode 100644 index 00000000..cc877081 --- /dev/null +++ b/docs/Models/Components/UpdateCreditNoteResponse.md @@ -0,0 +1,15 @@ +# UpdateCreditNoteResponse + +Credit Note updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | credit-notes | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateCustomerResponse.md b/docs/Models/Components/UpdateCustomerResponse.md new file mode 100644 index 00000000..680c2dda --- /dev/null +++ b/docs/Models/Components/UpdateCustomerResponse.md @@ -0,0 +1,15 @@ +# UpdateCustomerResponse + +Customers + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | customers | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateDepartmentResponse.md b/docs/Models/Components/UpdateDepartmentResponse.md new file mode 100644 index 00000000..3f9158ab --- /dev/null +++ b/docs/Models/Components/UpdateDepartmentResponse.md @@ -0,0 +1,15 @@ +# UpdateDepartmentResponse + +Departments + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | workday | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Departments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateDriveGroupResponse.md b/docs/Models/Components/UpdateDriveGroupResponse.md new file mode 100644 index 00000000..715a7556 --- /dev/null +++ b/docs/Models/Components/UpdateDriveGroupResponse.md @@ -0,0 +1,15 @@ +# UpdateDriveGroupResponse + +DriveGroups + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | google-drive | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | DriveGroups | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateDriveResponse.md b/docs/Models/Components/UpdateDriveResponse.md new file mode 100644 index 00000000..690fbaf0 --- /dev/null +++ b/docs/Models/Components/UpdateDriveResponse.md @@ -0,0 +1,15 @@ +# UpdateDriveResponse + +Drives + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | google-drive | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Drives | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateEmployeeResponse.md b/docs/Models/Components/UpdateEmployeeResponse.md new file mode 100644 index 00000000..a075c456 --- /dev/null +++ b/docs/Models/Components/UpdateEmployeeResponse.md @@ -0,0 +1,15 @@ +# UpdateEmployeeResponse + +Employees + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | sage-hr | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Employees | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateExpenseResponse.md b/docs/Models/Components/UpdateExpenseResponse.md new file mode 100644 index 00000000..9859e2fc --- /dev/null +++ b/docs/Models/Components/UpdateExpenseResponse.md @@ -0,0 +1,15 @@ +# UpdateExpenseResponse + +Expenses + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Expenses | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateFileRequest.md b/docs/Models/Components/UpdateFileRequest.md new file mode 100644 index 00000000..71c70a60 --- /dev/null +++ b/docs/Models/Components/UpdateFileRequest.md @@ -0,0 +1,11 @@ +# UpdateFileRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_minus_sign: | The name of the file. | New Name.pdf | +| `Description` | *string* | :heavy_minus_sign: | Optional description of the file. | Renamed PDF Document | +| `ParentFolderId` | *string* | :heavy_minus_sign: | The parent folder to create the new file within. This can be an ID or a path depending on the downstream folder. Please see the connector section below to see downstream specific gotchas. | 1234 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateFileResponse.md b/docs/Models/Components/UpdateFileResponse.md new file mode 100644 index 00000000..8a42ef63 --- /dev/null +++ b/docs/Models/Components/UpdateFileResponse.md @@ -0,0 +1,15 @@ +# UpdateFileResponse + +Files + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | google-drive | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | files | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateFolderRequest.md b/docs/Models/Components/UpdateFolderRequest.md new file mode 100644 index 00000000..90efb4cf --- /dev/null +++ b/docs/Models/Components/UpdateFolderRequest.md @@ -0,0 +1,11 @@ +# UpdateFolderRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Name` | *string* | :heavy_minus_sign: | The name of the folder. | Documents | +| `Description` | *string* | :heavy_minus_sign: | Optional description of the folder. | My Personal Documents | +| `ParentFolderId` | *string* | :heavy_minus_sign: | The parent folder to create the new file within. This can be an ID or a path depending on the downstream folder. Please see the connector section below to see downstream specific gotchas. | 1234 | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateFolderResponse.md b/docs/Models/Components/UpdateFolderResponse.md new file mode 100644 index 00000000..0c20c86c --- /dev/null +++ b/docs/Models/Components/UpdateFolderResponse.md @@ -0,0 +1,15 @@ +# UpdateFolderResponse + +Folders + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | undefined | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Folders | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateHrisCompanyResponse.md b/docs/Models/Components/UpdateHrisCompanyResponse.md new file mode 100644 index 00000000..d79817f1 --- /dev/null +++ b/docs/Models/Components/UpdateHrisCompanyResponse.md @@ -0,0 +1,15 @@ +# UpdateHrisCompanyResponse + +Companies + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | undefined | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateInvoiceItemsResponse.md b/docs/Models/Components/UpdateInvoiceItemsResponse.md new file mode 100644 index 00000000..8584d527 --- /dev/null +++ b/docs/Models/Components/UpdateInvoiceItemsResponse.md @@ -0,0 +1,15 @@ +# UpdateInvoiceItemsResponse + +InvoiceItems + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | invoice-items | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateInvoiceResponse.md b/docs/Models/Components/UpdateInvoiceResponse.md new file mode 100644 index 00000000..de07d74c --- /dev/null +++ b/docs/Models/Components/UpdateInvoiceResponse.md @@ -0,0 +1,15 @@ +# UpdateInvoiceResponse + +Invoice updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | invoices | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [InvoiceResponse](../../Models/Components/InvoiceResponse.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateJournalEntryResponse.md b/docs/Models/Components/UpdateJournalEntryResponse.md new file mode 100644 index 00000000..873d440e --- /dev/null +++ b/docs/Models/Components/UpdateJournalEntryResponse.md @@ -0,0 +1,15 @@ +# UpdateJournalEntryResponse + +JournalEntries + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | journal-entries | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateLeadResponse.md b/docs/Models/Components/UpdateLeadResponse.md new file mode 100644 index 00000000..b9267926 --- /dev/null +++ b/docs/Models/Components/UpdateLeadResponse.md @@ -0,0 +1,15 @@ +# UpdateLeadResponse + +Lead updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateLedgerAccountResponse.md b/docs/Models/Components/UpdateLedgerAccountResponse.md new file mode 100644 index 00000000..df0e956a --- /dev/null +++ b/docs/Models/Components/UpdateLedgerAccountResponse.md @@ -0,0 +1,15 @@ +# UpdateLedgerAccountResponse + +LedgerAccount updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | ledger-accounts | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateMessageResponse.md b/docs/Models/Components/UpdateMessageResponse.md new file mode 100644 index 00000000..4f638ecf --- /dev/null +++ b/docs/Models/Components/UpdateMessageResponse.md @@ -0,0 +1,15 @@ +# UpdateMessageResponse + +Messages + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | twilio | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Messages | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateNoteResponse.md b/docs/Models/Components/UpdateNoteResponse.md new file mode 100644 index 00000000..b994153d --- /dev/null +++ b/docs/Models/Components/UpdateNoteResponse.md @@ -0,0 +1,15 @@ +# UpdateNoteResponse + +Note updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | notes | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateOpportunityResponse.md b/docs/Models/Components/UpdateOpportunityResponse.md new file mode 100644 index 00000000..2f3436c1 --- /dev/null +++ b/docs/Models/Components/UpdateOpportunityResponse.md @@ -0,0 +1,15 @@ +# UpdateOpportunityResponse + +Opportunity updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdatePaymentResponse.md b/docs/Models/Components/UpdatePaymentResponse.md new file mode 100644 index 00000000..b67484b4 --- /dev/null +++ b/docs/Models/Components/UpdatePaymentResponse.md @@ -0,0 +1,15 @@ +# UpdatePaymentResponse + +Payment Updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | payments | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdatePipelineResponse.md b/docs/Models/Components/UpdatePipelineResponse.md new file mode 100644 index 00000000..9a1b3f51 --- /dev/null +++ b/docs/Models/Components/UpdatePipelineResponse.md @@ -0,0 +1,15 @@ +# UpdatePipelineResponse + +Pipeline updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | pipelines | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdatePurchaseOrderResponse.md b/docs/Models/Components/UpdatePurchaseOrderResponse.md new file mode 100644 index 00000000..69d915f6 --- /dev/null +++ b/docs/Models/Components/UpdatePurchaseOrderResponse.md @@ -0,0 +1,15 @@ +# UpdatePurchaseOrderResponse + +PurchaseOrders + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | PurchaseOrders | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateSharedLinkResponse.md b/docs/Models/Components/UpdateSharedLinkResponse.md new file mode 100644 index 00000000..78b116a2 --- /dev/null +++ b/docs/Models/Components/UpdateSharedLinkResponse.md @@ -0,0 +1,15 @@ +# UpdateSharedLinkResponse + +Shared Links + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | dropbox | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Shared Links | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateSubsidiaryResponse.md b/docs/Models/Components/UpdateSubsidiaryResponse.md new file mode 100644 index 00000000..a8bd2f10 --- /dev/null +++ b/docs/Models/Components/UpdateSubsidiaryResponse.md @@ -0,0 +1,15 @@ +# UpdateSubsidiaryResponse + +Subsidiaries + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | subsidiaries | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateSupplierResponse.md b/docs/Models/Components/UpdateSupplierResponse.md new file mode 100644 index 00000000..4b17ec09 --- /dev/null +++ b/docs/Models/Components/UpdateSupplierResponse.md @@ -0,0 +1,15 @@ +# UpdateSupplierResponse + +Supplier updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | suppliers | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateTaxRateResponse.md b/docs/Models/Components/UpdateTaxRateResponse.md new file mode 100644 index 00000000..5e76a6b5 --- /dev/null +++ b/docs/Models/Components/UpdateTaxRateResponse.md @@ -0,0 +1,15 @@ +# UpdateTaxRateResponse + +TaxRate updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | xero | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | tax-rates | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateTicketResponse.md b/docs/Models/Components/UpdateTicketResponse.md new file mode 100644 index 00000000..f6c0ff32 --- /dev/null +++ b/docs/Models/Components/UpdateTicketResponse.md @@ -0,0 +1,15 @@ +# UpdateTicketResponse + +Update a Ticket + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | github | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | Tickets | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateTimeOffRequestResponse.md b/docs/Models/Components/UpdateTimeOffRequestResponse.md new file mode 100644 index 00000000..ad0840a1 --- /dev/null +++ b/docs/Models/Components/UpdateTimeOffRequestResponse.md @@ -0,0 +1,15 @@ +# UpdateTimeOffRequestResponse + +TimeOffRequests + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | bamboohr | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | time-off-requests | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateTrackingCategoryResponse.md b/docs/Models/Components/UpdateTrackingCategoryResponse.md new file mode 100644 index 00000000..022f9abe --- /dev/null +++ b/docs/Models/Components/UpdateTrackingCategoryResponse.md @@ -0,0 +1,15 @@ +# UpdateTrackingCategoryResponse + +Tracking category updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | quickbooks | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | tracking-categories | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateUserResponse.md b/docs/Models/Components/UpdateUserResponse.md new file mode 100644 index 00000000..e8c8d4b1 --- /dev/null +++ b/docs/Models/Components/UpdateUserResponse.md @@ -0,0 +1,15 @@ +# UpdateUserResponse + +User updated + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Service` | *string* | :heavy_check_mark: | Apideck ID of service provider | zoho-crm | +| `Resource` | *string* | :heavy_check_mark: | Unified API resource name | companies | +| `Operation` | *string* | :heavy_check_mark: | Operation performed | update | +| `Data` | [UnifiedId](../../Models/Components/UnifiedId.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpdateWebhookRequest.md b/docs/Models/Components/UpdateWebhookRequest.md new file mode 100644 index 00000000..696bc4ea --- /dev/null +++ b/docs/Models/Components/UpdateWebhookRequest.md @@ -0,0 +1,11 @@ +# UpdateWebhookRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | +| `Description` | *string* | :heavy_minus_sign: | A description of the object. | A description | +| `Status` | [Status](../../Models/Components/Status.md) | :heavy_minus_sign: | The status of the webhook. | enabled | +| `DeliveryUrl` | *string* | :heavy_minus_sign: | The delivery url of the webhook endpoint. | https://example.com/my/webhook/endpoint | +| `Events` | List<[WebhookEventType](../../Models/Components/WebhookEventType.md)> | :heavy_minus_sign: | The list of subscribed events for this webhook. [`*`] indicates that all events are enabled. | [
"vault.connection.created",
"vault.connection.updated"
] | \ No newline at end of file diff --git a/docs/Models/Components/UpdateWebhookResponse.md b/docs/Models/Components/UpdateWebhookResponse.md new file mode 100644 index 00000000..8f3d1191 --- /dev/null +++ b/docs/Models/Components/UpdateWebhookResponse.md @@ -0,0 +1,12 @@ +# UpdateWebhookResponse + +Webhooks + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [Models.Components.Webhook](../../Models/Components/Webhook.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UploadSession.md b/docs/Models/Components/UploadSession.md new file mode 100644 index 00000000..b3595287 --- /dev/null +++ b/docs/Models/Components/UploadSession.md @@ -0,0 +1,13 @@ +# UploadSession + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `Success` | *bool* | :heavy_minus_sign: | Indicates if the upload session was completed successfully. | true | +| `PartSize` | *double* | :heavy_minus_sign: | Size in bytes of each part of the file that you will upload. Uploaded parts need to be this size for the upload to be successful. | 1000000 | +| `ParallelUploadSupported` | *bool* | :heavy_minus_sign: | Indicates if parts of the file can uploaded in parallel. | true | +| `UploadedByteRange` | *string* | :heavy_minus_sign: | The range of bytes that was successfully uploaded. | 0-42 | +| `ExpiresAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2022-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/User.md b/docs/Models/Components/User.md new file mode 100644 index 00000000..766ea4a4 --- /dev/null +++ b/docs/Models/Components/User.md @@ -0,0 +1,28 @@ +# User + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The unique identifier for the user | 12345 | +| `ParentId` | *string* | :heavy_minus_sign: | The parent user id | 54321 | +| `Username` | *string* | :heavy_minus_sign: | The username of the user | masterofcoin | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the person. | Elon | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the person. | Musk | +| `Title` | *string* | :heavy_minus_sign: | The job title of the person. | CEO | +| `Division` | *string* | :heavy_minus_sign: | The division the person is currently in. Usually a collection of departments or teams or regions. | Europe | +| ~~`Department`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

The department the person is currently in. [Deprecated](https://developers.apideck.com/changelog) in favor of the dedicated department_id and department_name field. | R&D | +| `CompanyName` | *string* | :heavy_minus_sign: | The name of the company. | SpaceX | +| `EmployeeNumber` | *string* | :heavy_minus_sign: | An Employee Number, Employee ID or Employee Code, is a unique number that has been assigned to each individual staff member within a company. | 123456-AB | +| `Description` | *string* | :heavy_minus_sign: | A description of the object. | A description | +| `Image` | *string* | :heavy_minus_sign: | The URL of the user's avatar | https://logo.clearbit.com/spacex.com?s=128 | +| `Language` | *string* | :heavy_minus_sign: | language code according to ISO 639-1. For the United States - EN | EN | +| `Status` | *string* | :heavy_minus_sign: | The status of the user | active | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_check_mark: | N/A | | +| `CustomMappings` | [Models.Components.CustomMappings](../../Models/Components/CustomMappings.md) | :heavy_minus_sign: | When custom mappings are configured on the resource, the result is included here. | | +| `UpdatedAt` | *string* | :heavy_minus_sign: | The date and time when the user was last updated. | 2017-08-12T20:43:21.291Z | +| `CreatedAt` | *string* | :heavy_minus_sign: | The date and time when the user was created. | 2017-08-12T20:43:21.291Z | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/UserInput.md b/docs/Models/Components/UserInput.md new file mode 100644 index 00000000..c4ad19a4 --- /dev/null +++ b/docs/Models/Components/UserInput.md @@ -0,0 +1,25 @@ +# UserInput + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ParentId` | *string* | :heavy_minus_sign: | The parent user id | 54321 | +| `Username` | *string* | :heavy_minus_sign: | The username of the user | masterofcoin | +| `FirstName` | *string* | :heavy_minus_sign: | The first name of the person. | Elon | +| `LastName` | *string* | :heavy_minus_sign: | The last name of the person. | Musk | +| `Title` | *string* | :heavy_minus_sign: | The job title of the person. | CEO | +| `Division` | *string* | :heavy_minus_sign: | The division the person is currently in. Usually a collection of departments or teams or regions. | Europe | +| ~~`Department`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

The department the person is currently in. [Deprecated](https://developers.apideck.com/changelog) in favor of the dedicated department_id and department_name field. | R&D | +| `CompanyName` | *string* | :heavy_minus_sign: | The name of the company. | SpaceX | +| `EmployeeNumber` | *string* | :heavy_minus_sign: | An Employee Number, Employee ID or Employee Code, is a unique number that has been assigned to each individual staff member within a company. | 123456-AB | +| `Description` | *string* | :heavy_minus_sign: | A description of the object. | A description | +| `Image` | *string* | :heavy_minus_sign: | The URL of the user's avatar | https://logo.clearbit.com/spacex.com?s=128 | +| `Language` | *string* | :heavy_minus_sign: | language code according to ISO 639-1. For the United States - EN | EN | +| `Status` | *string* | :heavy_minus_sign: | The status of the user | active | +| `Password` | *string* | :heavy_minus_sign: | The password of the user | supersecretpassword | +| `Addresses` | List<[Address](../../Models/Components/Address.md)> | :heavy_minus_sign: | N/A | | +| `PhoneNumbers` | List<[PhoneNumber](../../Models/Components/PhoneNumber.md)> | :heavy_minus_sign: | N/A | | +| `Emails` | List<[Email](../../Models/Components/Email.md)> | :heavy_check_mark: | N/A | | +| `PassThrough` | List<[PassThroughBody](../../Models/Components/PassThroughBody.md)> | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/Models/Components/ValidateConnectionStateResponse.md b/docs/Models/Components/ValidateConnectionStateResponse.md new file mode 100644 index 00000000..412d7529 --- /dev/null +++ b/docs/Models/Components/ValidateConnectionStateResponse.md @@ -0,0 +1,12 @@ +# ValidateConnectionStateResponse + +Connection access token refreshed + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `StatusCode` | *long* | :heavy_check_mark: | HTTP Response Status Code | 200 | +| `Status` | *string* | :heavy_check_mark: | HTTP Response Status | OK | +| `Data` | [ValidateConnectionStateResponseData](../../Models/Components/ValidateConnectionStateResponseData.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/ValidateConnectionStateResponseData.md b/docs/Models/Components/ValidateConnectionStateResponseData.md new file mode 100644 index 00000000..8f8d3bfa --- /dev/null +++ b/docs/Models/Components/ValidateConnectionStateResponseData.md @@ -0,0 +1,9 @@ +# ValidateConnectionStateResponseData + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | The unique identifier of the connection. | crm+salesforce | +| `State` | [ConnectionState](../../Models/Components/ConnectionState.md) | :heavy_minus_sign: | [Connection state flow](#section/Connection-state) | authorized | \ No newline at end of file diff --git a/docs/Models/Components/Value.md b/docs/Models/Components/Value.md new file mode 100644 index 00000000..60598943 --- /dev/null +++ b/docs/Models/Components/Value.md @@ -0,0 +1,40 @@ +# Value + + +## Supported Types + +### Str + +```csharp +Value.CreateStr(/* values here */); +``` + +### Number + +```csharp +Value.CreateNumber(/* values here */); +``` + +### Boolean + +```csharp +Value.CreateBoolean(/* values here */); +``` + +### Four + +```csharp +Value.CreateFour(/* values here */); +``` + +### ArrayOfStr + +```csharp +Value.CreateArrayOfStr(/* values here */); +``` + +### ArrayOf6 + +```csharp +Value.CreateArrayOf6(/* values here */); +``` diff --git a/docs/Models/Components/Value5.md b/docs/Models/Components/Value5.md new file mode 100644 index 00000000..2ecab5bf --- /dev/null +++ b/docs/Models/Components/Value5.md @@ -0,0 +1,22 @@ +# Value5 + + +## Supported Types + +### Str + +```csharp +Value5.CreateStr(/* values here */); +``` + +### Integer + +```csharp +Value5.CreateInteger(/* values here */); +``` + +### Number + +```csharp +Value5.CreateNumber(/* values here */); +``` diff --git a/docs/Models/Components/Variants.md b/docs/Models/Components/Variants.md new file mode 100644 index 00000000..ce911af5 --- /dev/null +++ b/docs/Models/Components/Variants.md @@ -0,0 +1,16 @@ +# Variants + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | A unique identifier for the variant of the product. | 1 | +| `Name` | *string* | :heavy_minus_sign: | The name for the variant, used for displaying to customers. | Midnight 16inch MacBook Pro | +| `Price` | *string* | :heavy_minus_sign: | The price of the variant. | 1999.99 | +| `Sku` | *string* | :heavy_minus_sign: | The stock keeping unit of the variant. | MBP123-16GB-SILVER-13 | +| `InventoryQuantity` | *string* | :heavy_minus_sign: | The quantity of the variant in stock. | 5 | +| `Weight` | *string* | :heavy_minus_sign: | The weight of the variant. | 1.25 | +| `WeightUnit` | *string* | :heavy_minus_sign: | The unit of measurement for the weight of the variant. | lb | +| `Options` | List<[EcommerceProductVariantsOptions](../../Models/Components/EcommerceProductVariantsOptions.md)> | :heavy_minus_sign: | N/A | | +| `Images` | List<[EcommerceProductImages](../../Models/Components/EcommerceProductImages.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/VirtualWebhooks.md b/docs/Models/Components/VirtualWebhooks.md new file mode 100644 index 00000000..74b3efc3 --- /dev/null +++ b/docs/Models/Components/VirtualWebhooks.md @@ -0,0 +1,11 @@ +# VirtualWebhooks + +Virtual webhook config for the connector. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `RequestRate` | [RequestRate](../../Models/Components/RequestRate.md) | :heavy_check_mark: | The rate at which requests for resources will be made to downstream. | +| `Resources` | Dictionary | :heavy_minus_sign: | The resources that will be requested from downstream. | \ No newline at end of file diff --git a/docs/Models/Components/Visibility.md b/docs/Models/Components/Visibility.md new file mode 100644 index 00000000..463ce4ec --- /dev/null +++ b/docs/Models/Components/Visibility.md @@ -0,0 +1,12 @@ +# Visibility + +The visibility of the job + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Draft` | draft | +| `Public` | public | +| `Internal` | internal | \ No newline at end of file diff --git a/docs/Models/Components/Webhook.md b/docs/Models/Components/Webhook.md new file mode 100644 index 00000000..cba2f377 --- /dev/null +++ b/docs/Models/Components/Webhook.md @@ -0,0 +1,17 @@ +# Webhook + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | +| `Id` | *string* | :heavy_minus_sign: | N/A | 1234 | +| `Description` | *string* | :heavy_minus_sign: | A description of the object. | A description | +| `UnifiedApi` | [UnifiedApiId](../../Models/Components/UnifiedApiId.md) | :heavy_check_mark: | Name of Apideck Unified API | crm | +| `Status` | [Status](../../Models/Components/Status.md) | :heavy_check_mark: | The status of the webhook. | enabled | +| `DisabledReason` | [DisabledReason](../../Models/Components/DisabledReason.md) | :heavy_minus_sign: | Indicates if the webhook has has been disabled as it reached its retry limit or if account is over the usage allocated by it's plan. | retry_limit | +| `DeliveryUrl` | *string* | :heavy_check_mark: | The delivery url of the webhook endpoint. | https://example.com/my/webhook/endpoint | +| `ExecuteBaseUrl` | *string* | :heavy_check_mark: | The Unify Base URL events from connectors will be sent to after service id is appended. | https://unify.apideck.com/webhook/webhooks/1234/execute | +| `Events` | List<[WebhookEventType](../../Models/Components/WebhookEventType.md)> | :heavy_check_mark: | The list of subscribed events for this webhook. [`*`] indicates that all events are enabled. | [
"vault.connection.created",
"vault.connection.updated"
] | +| `UpdatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was last updated. | 2020-09-30T07:43:32.000Z | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | The date and time when the object was created. | 2020-09-30T07:43:32.000Z | \ No newline at end of file diff --git a/docs/Models/Components/WebhookEventType.md b/docs/Models/Components/WebhookEventType.md new file mode 100644 index 00000000..8d9e546f --- /dev/null +++ b/docs/Models/Components/WebhookEventType.md @@ -0,0 +1,112 @@ +# WebhookEventType + + +## Values + +| Name | Value | +| ------------------------------------- | ------------------------------------- | +| `Wildcard` | * | +| `CrmActivityCreated` | crm.activity.created | +| `CrmActivityUpdated` | crm.activity.updated | +| `CrmActivityDeleted` | crm.activity.deleted | +| `CrmCompanyCreated` | crm.company.created | +| `CrmCompanyUpdated` | crm.company.updated | +| `CrmCompanyDeleted` | crm.company.deleted | +| `CrmContactCreated` | crm.contact.created | +| `CrmContactUpdated` | crm.contact.updated | +| `CrmContactDeleted` | crm.contact.deleted | +| `CrmLeadCreated` | crm.lead.created | +| `CrmLeadUpdated` | crm.lead.updated | +| `CrmLeadDeleted` | crm.lead.deleted | +| `CrmNoteCreated` | crm.note.created | +| `CrmNotesUpdated` | crm.notes.updated | +| `CrmNotesDeleted` | crm.notes.deleted | +| `CrmOpportunityCreated` | crm.opportunity.created | +| `CrmOpportunityUpdated` | crm.opportunity.updated | +| `CrmOpportunityDeleted` | crm.opportunity.deleted | +| `LeadLeadCreated` | lead.lead.created | +| `LeadLeadUpdated` | lead.lead.updated | +| `LeadLeadDeleted` | lead.lead.deleted | +| `VaultConnectionCreated` | vault.connection.created | +| `VaultConnectionUpdated` | vault.connection.updated | +| `VaultConnectionDisabled` | vault.connection.disabled | +| `VaultConnectionDeleted` | vault.connection.deleted | +| `VaultConnectionCallable` | vault.connection.callable | +| `VaultConnectionRevoked` | vault.connection.revoked | +| `VaultConnectionTokenRefreshFailed` | vault.connection.token_refresh.failed | +| `AtsJobCreated` | ats.job.created | +| `AtsJobUpdated` | ats.job.updated | +| `AtsJobDeleted` | ats.job.deleted | +| `AtsApplicantCreated` | ats.applicant.created | +| `AtsApplicantUpdated` | ats.applicant.updated | +| `AtsApplicantDeleted` | ats.applicant.deleted | +| `AccountingCustomerCreated` | accounting.customer.created | +| `AccountingCustomerUpdated` | accounting.customer.updated | +| `AccountingCustomerDeleted` | accounting.customer.deleted | +| `AccountingInvoiceCreated` | accounting.invoice.created | +| `AccountingInvoiceUpdated` | accounting.invoice.updated | +| `AccountingInvoiceDeleted` | accounting.invoice.deleted | +| `AccountingInvoiceItemCreated` | accounting.invoice_item.created | +| `AccountingInvoiceItemUpdated` | accounting.invoice_item.updated | +| `AccountingInvoiceItemDeleted` | accounting.invoice_item.deleted | +| `AccountingLedgerAccountCreated` | accounting.ledger_account.created | +| `AccountingLedgerAccountUpdated` | accounting.ledger_account.updated | +| `AccountingLedgerAccountDeleted` | accounting.ledger_account.deleted | +| `AccountingTaxRateCreated` | accounting.tax_rate.created | +| `AccountingTaxRateUpdated` | accounting.tax_rate.updated | +| `AccountingTaxRateDeleted` | accounting.tax_rate.deleted | +| `AccountingBillCreated` | accounting.bill.created | +| `AccountingBillUpdated` | accounting.bill.updated | +| `AccountingBillDeleted` | accounting.bill.deleted | +| `AccountingPaymentCreated` | accounting.payment.created | +| `AccountingPaymentUpdated` | accounting.payment.updated | +| `AccountingPaymentDeleted` | accounting.payment.deleted | +| `AccountingSupplierCreated` | accounting.supplier.created | +| `AccountingSupplierUpdated` | accounting.supplier.updated | +| `AccountingSupplierDeleted` | accounting.supplier.deleted | +| `AccountingPurchaseOrderCreated` | accounting.purchase_order.created | +| `AccountingPurchaseOrderUpdated` | accounting.purchase_order.updated | +| `AccountingPurchaseOrderDeleted` | accounting.purchase_order.deleted | +| `PosOrderCreated` | pos.order.created | +| `PosOrderUpdated` | pos.order.updated | +| `PosOrderDeleted` | pos.order.deleted | +| `PosProductCreated` | pos.product.created | +| `PosProductUpdated` | pos.product.updated | +| `PosProductDeleted` | pos.product.deleted | +| `PosPaymentCreated` | pos.payment.created | +| `PosPaymentUpdated` | pos.payment.updated | +| `PosPaymentDeleted` | pos.payment.deleted | +| `PosMerchantCreated` | pos.merchant.created | +| `PosMerchantUpdated` | pos.merchant.updated | +| `PosMerchantDeleted` | pos.merchant.deleted | +| `PosLocationCreated` | pos.location.created | +| `PosLocationUpdated` | pos.location.updated | +| `PosLocationDeleted` | pos.location.deleted | +| `PosItemCreated` | pos.item.created | +| `PosItemUpdated` | pos.item.updated | +| `PosItemDeleted` | pos.item.deleted | +| `PosModifierCreated` | pos.modifier.created | +| `PosModifierUpdated` | pos.modifier.updated | +| `PosModifierDeleted` | pos.modifier.deleted | +| `PosModifierGroupCreated` | pos.modifier-group.created | +| `PosModifierGroupUpdated` | pos.modifier-group.updated | +| `PosModifierGroupDeleted` | pos.modifier-group.deleted | +| `HrisEmployeeCreated` | hris.employee.created | +| `HrisEmployeeUpdated` | hris.employee.updated | +| `HrisEmployeeDeleted` | hris.employee.deleted | +| `HrisEmployeeTerminated` | hris.employee.terminated | +| `HrisCompanyCreated` | hris.company.created | +| `HrisCompanyUpdated` | hris.company.updated | +| `HrisCompanyDeleted` | hris.company.deleted | +| `FileStorageFileCreated` | file-storage.file.created | +| `FileStorageFileUpdated` | file-storage.file.updated | +| `FileStorageFileDeleted` | file-storage.file.deleted | +| `IssueTrackingTicketCreated` | issue-tracking.ticket.created | +| `IssueTrackingTicketUpdated` | issue-tracking.ticket.updated | +| `IssueTrackingTicketDeleted` | issue-tracking.ticket.deleted | +| `AtsApplicationCreated` | ats.application.created | +| `AtsApplicationUpdated` | ats.application.updated | +| `AtsApplicationDeleted` | ats.application.deleted | +| `AccountingExpenseCreated` | accounting.expense.created | +| `AccountingExpenseUpdated` | accounting.expense.updated | +| `AccountingExpenseDeleted` | accounting.expense.deleted | \ No newline at end of file diff --git a/docs/Models/Components/WebhookSubscription.md b/docs/Models/Components/WebhookSubscription.md new file mode 100644 index 00000000..2ba95480 --- /dev/null +++ b/docs/Models/Components/WebhookSubscription.md @@ -0,0 +1,12 @@ +# WebhookSubscription + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `DownstreamId` | *string* | :heavy_minus_sign: | The ID of the downstream service | 5f5f5f5f5f5f5f5f5f5f5f5f | +| `UnifyEventTypes` | List<*string*> | :heavy_minus_sign: | The list of Unify Events this connection is subscribed to | | +| `DownstreamEventTypes` | List<*string*> | :heavy_minus_sign: | The list of downstream Events this connection is subscribed to | | +| `ExecuteUrl` | *string* | :heavy_minus_sign: | The URL the downstream is sending to when the event is triggered | https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType} | +| `CreatedAt` | *string* | :heavy_minus_sign: | The date and time the webhook subscription was created downstream | 2020-10-01T12:00:00.000Z | \ No newline at end of file diff --git a/docs/Models/Components/WebhookSupport.md b/docs/Models/Components/WebhookSupport.md new file mode 100644 index 00000000..fb9ef503 --- /dev/null +++ b/docs/Models/Components/WebhookSupport.md @@ -0,0 +1,13 @@ +# WebhookSupport + +How webhooks are supported for the connector. Sometimes the connector natively supports webhooks, other times Apideck virtualizes them based on polling. + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `Mode` | [Mode](../../Models/Components/Mode.md) | :heavy_minus_sign: | Mode of the webhook support. | native | +| `SubscriptionLevel` | [SubscriptionLevel](../../Models/Components/SubscriptionLevel.md) | :heavy_minus_sign: | Received events are scoped to connection or across integration. | integration | +| `ManagedVia` | [ManagedVia](../../Models/Components/ManagedVia.md) | :heavy_minus_sign: | How the subscription is managed in the downstream. | api | +| `VirtualWebhooks` | [VirtualWebhooks](../../Models/Components/VirtualWebhooks.md) | :heavy_minus_sign: | Virtual webhook config for the connector. | | \ No newline at end of file diff --git a/docs/Models/Components/WebhookSupportResources.md b/docs/Models/Components/WebhookSupportResources.md new file mode 100644 index 00000000..60373106 --- /dev/null +++ b/docs/Models/Components/WebhookSupportResources.md @@ -0,0 +1,8 @@ +# WebhookSupportResources + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `Events` | List<*string*> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/Website.md b/docs/Models/Components/Website.md new file mode 100644 index 00000000..2b597bfa --- /dev/null +++ b/docs/Models/Components/Website.md @@ -0,0 +1,10 @@ +# Website + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | Unique identifier for the website | 12345 | +| `Url` | *string* | :heavy_check_mark: | The website URL | http://example.com | +| `Type` | [WebsiteType](../../Models/Components/WebsiteType.md) | :heavy_minus_sign: | The type of website | primary | \ No newline at end of file diff --git a/docs/Models/Components/WebsiteType.md b/docs/Models/Components/WebsiteType.md new file mode 100644 index 00000000..382dcbd1 --- /dev/null +++ b/docs/Models/Components/WebsiteType.md @@ -0,0 +1,14 @@ +# WebsiteType + +The type of website + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Primary` | primary | +| `Secondary` | secondary | +| `Work` | work | +| `Personal` | personal | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/Websites.md b/docs/Models/Components/Websites.md new file mode 100644 index 00000000..b00fb223 --- /dev/null +++ b/docs/Models/Components/Websites.md @@ -0,0 +1,10 @@ +# Websites + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `Id` | *string* | :heavy_minus_sign: | Unique identifier for the website | 12345 | +| `Url` | *string* | :heavy_check_mark: | The website URL | http://example.com | +| `Type` | [ApplicantType](../../Models/Components/ApplicantType.md) | :heavy_minus_sign: | The type of website | primary | \ No newline at end of file diff --git a/docs/Models/Components/WorkPattern.md b/docs/Models/Components/WorkPattern.md new file mode 100644 index 00000000..31026dc3 --- /dev/null +++ b/docs/Models/Components/WorkPattern.md @@ -0,0 +1,9 @@ +# WorkPattern + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `OddWeeks` | [OddWeeks](../../Models/Components/OddWeeks.md) | :heavy_minus_sign: | N/A | +| `EvenWeeks` | [EvenWeeks](../../Models/Components/EvenWeeks.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Errors/BadRequestResponse.md b/docs/Models/Errors/BadRequestResponse.md new file mode 100644 index 00000000..3c0d3ab0 --- /dev/null +++ b/docs/Models/Errors/BadRequestResponse.md @@ -0,0 +1,15 @@ +# BadRequestResponse + +Bad Request + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `StatusCode` | *double* | :heavy_minus_sign: | HTTP status code | 400 | +| `Error` | *string* | :heavy_minus_sign: | Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231) | Bad Request | +| `TypeName` | *string* | :heavy_minus_sign: | The type of error returned | RequestValidationError | +| `Message` | *string* | :heavy_minus_sign: | A human-readable message providing more details about the error. | Invalid Params | +| `Detail` | [Models.Errors.Detail](../../Models/Errors/Detail.md) | :heavy_minus_sign: | Contains parameter or domain specific information related to the error and why it occurred. | | +| `Ref` | *string* | :heavy_minus_sign: | Link to documentation of error type | https://developers.apideck.com/errors#requestvalidationerror | \ No newline at end of file diff --git a/docs/Models/Errors/Detail.md b/docs/Models/Errors/Detail.md new file mode 100644 index 00000000..24228d02 --- /dev/null +++ b/docs/Models/Errors/Detail.md @@ -0,0 +1,18 @@ +# Detail + +Contains parameter or domain specific information related to the error and why it occurred. + + +## Supported Types + +### Str + +```csharp +Detail.CreateStr(/* values here */); +``` + +### MapOfAny + +```csharp +Detail.CreateMapOfAny(/* values here */); +``` diff --git a/docs/Models/Errors/NotFoundResponse.md b/docs/Models/Errors/NotFoundResponse.md new file mode 100644 index 00000000..cde9172d --- /dev/null +++ b/docs/Models/Errors/NotFoundResponse.md @@ -0,0 +1,15 @@ +# NotFoundResponse + +The specified resource was not found + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `StatusCode` | *double* | :heavy_minus_sign: | HTTP status code | 404 | +| `Error` | *string* | :heavy_minus_sign: | Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231) | Not Found | +| `TypeName` | *string* | :heavy_minus_sign: | The type of error returned | EntityNotFoundError | +| `Message` | *string* | :heavy_minus_sign: | A human-readable message providing more details about the error. | Unknown Widget | +| `Detail` | [NotFoundResponseDetail](../../Models/Errors/NotFoundResponseDetail.md) | :heavy_minus_sign: | Contains parameter or domain specific information related to the error and why it occurred. | | +| `Ref` | *string* | :heavy_minus_sign: | Link to documentation of error type | https://developers.apideck.com/errors#entitynotfounderror | \ No newline at end of file diff --git a/docs/Models/Errors/NotFoundResponseDetail.md b/docs/Models/Errors/NotFoundResponseDetail.md new file mode 100644 index 00000000..954e9f8e --- /dev/null +++ b/docs/Models/Errors/NotFoundResponseDetail.md @@ -0,0 +1,18 @@ +# NotFoundResponseDetail + +Contains parameter or domain specific information related to the error and why it occurred. + + +## Supported Types + +### Str + +```csharp +NotFoundResponseDetail.CreateStr(/* values here */); +``` + +### MapOfAny + +```csharp +NotFoundResponseDetail.CreateMapOfAny(/* values here */); +``` diff --git a/docs/Models/Errors/PaymentRequiredResponse.md b/docs/Models/Errors/PaymentRequiredResponse.md new file mode 100644 index 00000000..efb5c727 --- /dev/null +++ b/docs/Models/Errors/PaymentRequiredResponse.md @@ -0,0 +1,15 @@ +# PaymentRequiredResponse + +Payment Required + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `StatusCode` | *double* | :heavy_minus_sign: | HTTP status code | 402 | +| `Error` | *string* | :heavy_minus_sign: | Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231) | Payment Required | +| `TypeName` | *string* | :heavy_minus_sign: | The type of error returned | RequestLimitError | +| `Message` | *string* | :heavy_minus_sign: | A human-readable message providing more details about the error. | Request Limit Reached | +| `Detail` | *string* | :heavy_minus_sign: | Contains parameter or domain specific information related to the error and why it occurred. | You have reached your limit of 2000 | +| `Ref` | *string* | :heavy_minus_sign: | Link to documentation of error type | https://developers.apideck.com/errors#requestlimiterror | \ No newline at end of file diff --git a/docs/Models/Errors/UnauthorizedResponse.md b/docs/Models/Errors/UnauthorizedResponse.md new file mode 100644 index 00000000..65b0d282 --- /dev/null +++ b/docs/Models/Errors/UnauthorizedResponse.md @@ -0,0 +1,15 @@ +# UnauthorizedResponse + +Unauthorized + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `StatusCode` | *double* | :heavy_minus_sign: | HTTP status code | 401 | +| `Error` | *string* | :heavy_minus_sign: | Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231) | Unauthorized | +| `TypeName` | *string* | :heavy_minus_sign: | The type of error returned | UnauthorizedError | +| `Message` | *string* | :heavy_minus_sign: | A human-readable message providing more details about the error. | Unauthorized Request | +| `Detail` | [UnauthorizedResponseDetail](../../Models/Errors/UnauthorizedResponseDetail.md) | :heavy_minus_sign: | Contains parameter or domain specific information related to the error and why it occurred. | | +| `Ref` | *string* | :heavy_minus_sign: | Link to documentation of error type | https://developers.apideck.com/errors#unauthorizederror | \ No newline at end of file diff --git a/docs/Models/Errors/UnauthorizedResponseDetail.md b/docs/Models/Errors/UnauthorizedResponseDetail.md new file mode 100644 index 00000000..c4f00807 --- /dev/null +++ b/docs/Models/Errors/UnauthorizedResponseDetail.md @@ -0,0 +1,18 @@ +# UnauthorizedResponseDetail + +Contains parameter or domain specific information related to the error and why it occurred. + + +## Supported Types + +### Str + +```csharp +UnauthorizedResponseDetail.CreateStr(/* values here */); +``` + +### MapOfAny + +```csharp +UnauthorizedResponseDetail.CreateMapOfAny(/* values here */); +``` diff --git a/docs/Models/Errors/UnprocessableResponse.md b/docs/Models/Errors/UnprocessableResponse.md new file mode 100644 index 00000000..5511009a --- /dev/null +++ b/docs/Models/Errors/UnprocessableResponse.md @@ -0,0 +1,15 @@ +# UnprocessableResponse + +Unprocessable + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `StatusCode` | *double* | :heavy_minus_sign: | HTTP status code | 422 | +| `Error` | *string* | :heavy_minus_sign: | Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231) | Unprocessable Entity | +| `TypeName` | *string* | :heavy_minus_sign: | The type of error returned | InvalidStateError | +| `Message` | *string* | :heavy_minus_sign: | A human-readable message providing more details about the error. | Invalid State | +| `Detail` | [UnprocessableResponseDetail](../../Models/Errors/UnprocessableResponseDetail.md) | :heavy_minus_sign: | Contains parameter or domain specific information related to the error and why it occurred. | | +| `Ref` | *string* | :heavy_minus_sign: | Link to documentation of error type | https://developers.apideck.com/errors#invalidstateerror | \ No newline at end of file diff --git a/docs/Models/Errors/UnprocessableResponseDetail.md b/docs/Models/Errors/UnprocessableResponseDetail.md new file mode 100644 index 00000000..a3aa2e77 --- /dev/null +++ b/docs/Models/Errors/UnprocessableResponseDetail.md @@ -0,0 +1,18 @@ +# UnprocessableResponseDetail + +Contains parameter or domain specific information related to the error and why it occurred. + + +## Supported Types + +### Str + +```csharp +UnprocessableResponseDetail.CreateStr(/* values here */); +``` + +### MapOfAny + +```csharp +UnprocessableResponseDetail.CreateMapOfAny(/* values here */); +``` diff --git a/docs/Models/Requests/AccountingAttachmentsAllRequest.md b/docs/Models/Requests/AccountingAttachmentsAllRequest.md new file mode 100644 index 00000000..41c7a72f --- /dev/null +++ b/docs/Models/Requests/AccountingAttachmentsAllRequest.md @@ -0,0 +1,16 @@ +# AccountingAttachmentsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ReferenceType` | [AttachmentReferenceType](../../Models/Components/AttachmentReferenceType.md) | :heavy_check_mark: | The reference type of the document. | invoice | +| `ReferenceId` | *string* | :heavy_check_mark: | The reference id of the object to retrieve. | 12345 | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingAttachmentsAllResponse.md b/docs/Models/Requests/AccountingAttachmentsAllResponse.md new file mode 100644 index 00000000..17662364 --- /dev/null +++ b/docs/Models/Requests/AccountingAttachmentsAllResponse.md @@ -0,0 +1,10 @@ +# AccountingAttachmentsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetAttachmentsResponse` | [GetAttachmentsResponse](../../Models/Components/GetAttachmentsResponse.md) | :heavy_minus_sign: | Attachments | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingAttachmentsDeleteRequest.md b/docs/Models/Requests/AccountingAttachmentsDeleteRequest.md new file mode 100644 index 00000000..b8bf75b9 --- /dev/null +++ b/docs/Models/Requests/AccountingAttachmentsDeleteRequest.md @@ -0,0 +1,14 @@ +# AccountingAttachmentsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `ReferenceType` | [AttachmentReferenceType](../../Models/Components/AttachmentReferenceType.md) | :heavy_check_mark: | The reference type of the document. | invoice | +| `ReferenceId` | *string* | :heavy_check_mark: | The reference id of the object to retrieve. | 12345 | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingAttachmentsDeleteResponse.md b/docs/Models/Requests/AccountingAttachmentsDeleteResponse.md new file mode 100644 index 00000000..0b24d6ed --- /dev/null +++ b/docs/Models/Requests/AccountingAttachmentsDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingAttachmentsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteAttachmentResponse` | [DeleteAttachmentResponse](../../Models/Components/DeleteAttachmentResponse.md) | :heavy_minus_sign: | Attachments | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingAttachmentsDownloadRequest.md b/docs/Models/Requests/AccountingAttachmentsDownloadRequest.md new file mode 100644 index 00000000..bbc24109 --- /dev/null +++ b/docs/Models/Requests/AccountingAttachmentsDownloadRequest.md @@ -0,0 +1,14 @@ +# AccountingAttachmentsDownloadRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ReferenceType` | [AttachmentReferenceType](../../Models/Components/AttachmentReferenceType.md) | :heavy_check_mark: | The reference type of the document. | invoice | +| `ReferenceId` | *string* | :heavy_check_mark: | The reference id of the object to retrieve. | 12345 | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingAttachmentsDownloadResponse.md b/docs/Models/Requests/AccountingAttachmentsDownloadResponse.md new file mode 100644 index 00000000..fb631589 --- /dev/null +++ b/docs/Models/Requests/AccountingAttachmentsDownloadResponse.md @@ -0,0 +1,10 @@ +# AccountingAttachmentsDownloadResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetAttachmentDownloadResponse` | *byte[]* | :heavy_minus_sign: | Attachment Download | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingAttachmentsOneRequest.md b/docs/Models/Requests/AccountingAttachmentsOneRequest.md new file mode 100644 index 00000000..cc4c7c97 --- /dev/null +++ b/docs/Models/Requests/AccountingAttachmentsOneRequest.md @@ -0,0 +1,15 @@ +# AccountingAttachmentsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ReferenceType` | [AttachmentReferenceType](../../Models/Components/AttachmentReferenceType.md) | :heavy_check_mark: | The reference type of the document. | invoice | +| `ReferenceId` | *string* | :heavy_check_mark: | The reference id of the object to retrieve. | 12345 | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingAttachmentsOneResponse.md b/docs/Models/Requests/AccountingAttachmentsOneResponse.md new file mode 100644 index 00000000..468db5a2 --- /dev/null +++ b/docs/Models/Requests/AccountingAttachmentsOneResponse.md @@ -0,0 +1,10 @@ +# AccountingAttachmentsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetAttachmentResponse` | [GetAttachmentResponse](../../Models/Components/GetAttachmentResponse.md) | :heavy_minus_sign: | Attachments | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBalanceSheetOneRequest.md b/docs/Models/Requests/AccountingBalanceSheetOneRequest.md new file mode 100644 index 00000000..640404f4 --- /dev/null +++ b/docs/Models/Requests/AccountingBalanceSheetOneRequest.md @@ -0,0 +1,13 @@ +# AccountingBalanceSheetOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Filter` | [BalanceSheetFilter](../../Models/Components/BalanceSheetFilter.md) | :heavy_minus_sign: | Apply filters | {
"start_date": "2021-01-01",
"end_date": "2021-12-31",
"period_count": 3,
"period_type": "month"
} | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBalanceSheetOneResponse.md b/docs/Models/Requests/AccountingBalanceSheetOneResponse.md new file mode 100644 index 00000000..3eaa869a --- /dev/null +++ b/docs/Models/Requests/AccountingBalanceSheetOneResponse.md @@ -0,0 +1,10 @@ +# AccountingBalanceSheetOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetBalanceSheetResponse` | [GetBalanceSheetResponse](../../Models/Components/GetBalanceSheetResponse.md) | :heavy_minus_sign: | BalanceSheet | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillPaymentsAddRequest.md b/docs/Models/Requests/AccountingBillPaymentsAddRequest.md new file mode 100644 index 00000000..8d2b14b9 --- /dev/null +++ b/docs/Models/Requests/AccountingBillPaymentsAddRequest.md @@ -0,0 +1,12 @@ +# AccountingBillPaymentsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `BillPayment` | [BillPaymentInput](../../Models/Components/BillPaymentInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillPaymentsAddResponse.md b/docs/Models/Requests/AccountingBillPaymentsAddResponse.md new file mode 100644 index 00000000..d015580f --- /dev/null +++ b/docs/Models/Requests/AccountingBillPaymentsAddResponse.md @@ -0,0 +1,10 @@ +# AccountingBillPaymentsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateBillPaymentResponse` | [CreateBillPaymentResponse](../../Models/Components/CreateBillPaymentResponse.md) | :heavy_minus_sign: | Bill Payment created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillPaymentsAllRequest.md b/docs/Models/Requests/AccountingBillPaymentsAllRequest.md new file mode 100644 index 00000000..81ae030a --- /dev/null +++ b/docs/Models/Requests/AccountingBillPaymentsAllRequest.md @@ -0,0 +1,17 @@ +# AccountingBillPaymentsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [PaymentsFilter](../../Models/Components/PaymentsFilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z"
} | +| `Sort` | [PaymentsSort](../../Models/Components/PaymentsSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillPaymentsAllResponse.md b/docs/Models/Requests/AccountingBillPaymentsAllResponse.md new file mode 100644 index 00000000..b36d6e2e --- /dev/null +++ b/docs/Models/Requests/AccountingBillPaymentsAllResponse.md @@ -0,0 +1,10 @@ +# AccountingBillPaymentsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetBillPaymentsResponse` | [GetBillPaymentsResponse](../../Models/Components/GetBillPaymentsResponse.md) | :heavy_minus_sign: | Bill Payments | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillPaymentsDeleteRequest.md b/docs/Models/Requests/AccountingBillPaymentsDeleteRequest.md new file mode 100644 index 00000000..da647f9c --- /dev/null +++ b/docs/Models/Requests/AccountingBillPaymentsDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingBillPaymentsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillPaymentsDeleteResponse.md b/docs/Models/Requests/AccountingBillPaymentsDeleteResponse.md new file mode 100644 index 00000000..3e8bdcfa --- /dev/null +++ b/docs/Models/Requests/AccountingBillPaymentsDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingBillPaymentsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteBillPaymentResponse` | [DeleteBillPaymentResponse](../../Models/Components/DeleteBillPaymentResponse.md) | :heavy_minus_sign: | Bill Payment deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillPaymentsOneRequest.md b/docs/Models/Requests/AccountingBillPaymentsOneRequest.md new file mode 100644 index 00000000..ec5d648c --- /dev/null +++ b/docs/Models/Requests/AccountingBillPaymentsOneRequest.md @@ -0,0 +1,13 @@ +# AccountingBillPaymentsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillPaymentsOneResponse.md b/docs/Models/Requests/AccountingBillPaymentsOneResponse.md new file mode 100644 index 00000000..873d2ef6 --- /dev/null +++ b/docs/Models/Requests/AccountingBillPaymentsOneResponse.md @@ -0,0 +1,10 @@ +# AccountingBillPaymentsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetBillPaymentResponse` | [GetBillPaymentResponse](../../Models/Components/GetBillPaymentResponse.md) | :heavy_minus_sign: | Bill Payment | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillPaymentsUpdateRequest.md b/docs/Models/Requests/AccountingBillPaymentsUpdateRequest.md new file mode 100644 index 00000000..9b8e5709 --- /dev/null +++ b/docs/Models/Requests/AccountingBillPaymentsUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingBillPaymentsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `BillPayment` | [BillPaymentInput](../../Models/Components/BillPaymentInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillPaymentsUpdateResponse.md b/docs/Models/Requests/AccountingBillPaymentsUpdateResponse.md new file mode 100644 index 00000000..f5c94363 --- /dev/null +++ b/docs/Models/Requests/AccountingBillPaymentsUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingBillPaymentsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateBillPaymentResponse` | [UpdateBillPaymentResponse](../../Models/Components/UpdateBillPaymentResponse.md) | :heavy_minus_sign: | Bill Payment updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillsAddRequest.md b/docs/Models/Requests/AccountingBillsAddRequest.md new file mode 100644 index 00000000..062f8418 --- /dev/null +++ b/docs/Models/Requests/AccountingBillsAddRequest.md @@ -0,0 +1,12 @@ +# AccountingBillsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bill` | [BillInput](../../Models/Components/BillInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillsAddResponse.md b/docs/Models/Requests/AccountingBillsAddResponse.md new file mode 100644 index 00000000..4fad1bd7 --- /dev/null +++ b/docs/Models/Requests/AccountingBillsAddResponse.md @@ -0,0 +1,10 @@ +# AccountingBillsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateBillResponse` | [CreateBillResponse](../../Models/Components/CreateBillResponse.md) | :heavy_minus_sign: | Bill created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillsAllRequest.md b/docs/Models/Requests/AccountingBillsAllRequest.md new file mode 100644 index 00000000..fe347912 --- /dev/null +++ b/docs/Models/Requests/AccountingBillsAllRequest.md @@ -0,0 +1,17 @@ +# AccountingBillsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [BillsFilter](../../Models/Components/BillsFilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z"
} | +| `Sort` | [BillsSort](../../Models/Components/BillsSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillsAllResponse.md b/docs/Models/Requests/AccountingBillsAllResponse.md new file mode 100644 index 00000000..bd581819 --- /dev/null +++ b/docs/Models/Requests/AccountingBillsAllResponse.md @@ -0,0 +1,10 @@ +# AccountingBillsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetBillsResponse` | [GetBillsResponse](../../Models/Components/GetBillsResponse.md) | :heavy_minus_sign: | Bills | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillsDeleteRequest.md b/docs/Models/Requests/AccountingBillsDeleteRequest.md new file mode 100644 index 00000000..e7cd2a34 --- /dev/null +++ b/docs/Models/Requests/AccountingBillsDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingBillsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillsDeleteResponse.md b/docs/Models/Requests/AccountingBillsDeleteResponse.md new file mode 100644 index 00000000..fd34dc01 --- /dev/null +++ b/docs/Models/Requests/AccountingBillsDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingBillsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteBillResponse` | [DeleteBillResponse](../../Models/Components/DeleteBillResponse.md) | :heavy_minus_sign: | Bill deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillsOneRequest.md b/docs/Models/Requests/AccountingBillsOneRequest.md new file mode 100644 index 00000000..91fc4552 --- /dev/null +++ b/docs/Models/Requests/AccountingBillsOneRequest.md @@ -0,0 +1,13 @@ +# AccountingBillsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillsOneResponse.md b/docs/Models/Requests/AccountingBillsOneResponse.md new file mode 100644 index 00000000..a47f753a --- /dev/null +++ b/docs/Models/Requests/AccountingBillsOneResponse.md @@ -0,0 +1,10 @@ +# AccountingBillsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetBillResponse` | [GetBillResponse](../../Models/Components/GetBillResponse.md) | :heavy_minus_sign: | Bill | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillsUpdateRequest.md b/docs/Models/Requests/AccountingBillsUpdateRequest.md new file mode 100644 index 00000000..796edbda --- /dev/null +++ b/docs/Models/Requests/AccountingBillsUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingBillsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Bill` | [BillInput](../../Models/Components/BillInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingBillsUpdateResponse.md b/docs/Models/Requests/AccountingBillsUpdateResponse.md new file mode 100644 index 00000000..911f070a --- /dev/null +++ b/docs/Models/Requests/AccountingBillsUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingBillsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateBillResponse` | [UpdateBillResponse](../../Models/Components/UpdateBillResponse.md) | :heavy_minus_sign: | Bill Updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCompanyInfoOneRequest.md b/docs/Models/Requests/AccountingCompanyInfoOneRequest.md new file mode 100644 index 00000000..7d247baf --- /dev/null +++ b/docs/Models/Requests/AccountingCompanyInfoOneRequest.md @@ -0,0 +1,12 @@ +# AccountingCompanyInfoOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCompanyInfoOneResponse.md b/docs/Models/Requests/AccountingCompanyInfoOneResponse.md new file mode 100644 index 00000000..465f939a --- /dev/null +++ b/docs/Models/Requests/AccountingCompanyInfoOneResponse.md @@ -0,0 +1,10 @@ +# AccountingCompanyInfoOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCompanyInfoResponse` | [GetCompanyInfoResponse](../../Models/Components/GetCompanyInfoResponse.md) | :heavy_minus_sign: | CompanyInfo | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCreditNotesAddRequest.md b/docs/Models/Requests/AccountingCreditNotesAddRequest.md new file mode 100644 index 00000000..0015fddd --- /dev/null +++ b/docs/Models/Requests/AccountingCreditNotesAddRequest.md @@ -0,0 +1,12 @@ +# AccountingCreditNotesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `CreditNote` | [CreditNoteInput](../../Models/Components/CreditNoteInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCreditNotesAddResponse.md b/docs/Models/Requests/AccountingCreditNotesAddResponse.md new file mode 100644 index 00000000..8e13aa9c --- /dev/null +++ b/docs/Models/Requests/AccountingCreditNotesAddResponse.md @@ -0,0 +1,10 @@ +# AccountingCreditNotesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateCreditNoteResponse` | [CreateCreditNoteResponse](../../Models/Components/CreateCreditNoteResponse.md) | :heavy_minus_sign: | Credit Note created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCreditNotesAllRequest.md b/docs/Models/Requests/AccountingCreditNotesAllRequest.md new file mode 100644 index 00000000..b4220471 --- /dev/null +++ b/docs/Models/Requests/AccountingCreditNotesAllRequest.md @@ -0,0 +1,17 @@ +# AccountingCreditNotesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [CreditNotesFilter](../../Models/Components/CreditNotesFilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z"
} | +| `Sort` | [CreditNotesSort](../../Models/Components/CreditNotesSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCreditNotesAllResponse.md b/docs/Models/Requests/AccountingCreditNotesAllResponse.md new file mode 100644 index 00000000..b0d0d9dd --- /dev/null +++ b/docs/Models/Requests/AccountingCreditNotesAllResponse.md @@ -0,0 +1,10 @@ +# AccountingCreditNotesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCreditNotesResponse` | [GetCreditNotesResponse](../../Models/Components/GetCreditNotesResponse.md) | :heavy_minus_sign: | Credit Notes | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCreditNotesDeleteRequest.md b/docs/Models/Requests/AccountingCreditNotesDeleteRequest.md new file mode 100644 index 00000000..95592f25 --- /dev/null +++ b/docs/Models/Requests/AccountingCreditNotesDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingCreditNotesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCreditNotesDeleteResponse.md b/docs/Models/Requests/AccountingCreditNotesDeleteResponse.md new file mode 100644 index 00000000..ef2f5fdb --- /dev/null +++ b/docs/Models/Requests/AccountingCreditNotesDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingCreditNotesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteCreditNoteResponse` | [DeleteCreditNoteResponse](../../Models/Components/DeleteCreditNoteResponse.md) | :heavy_minus_sign: | Credit Note deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCreditNotesOneRequest.md b/docs/Models/Requests/AccountingCreditNotesOneRequest.md new file mode 100644 index 00000000..8558fa88 --- /dev/null +++ b/docs/Models/Requests/AccountingCreditNotesOneRequest.md @@ -0,0 +1,13 @@ +# AccountingCreditNotesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCreditNotesOneResponse.md b/docs/Models/Requests/AccountingCreditNotesOneResponse.md new file mode 100644 index 00000000..5890a4a1 --- /dev/null +++ b/docs/Models/Requests/AccountingCreditNotesOneResponse.md @@ -0,0 +1,10 @@ +# AccountingCreditNotesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCreditNoteResponse` | [GetCreditNoteResponse](../../Models/Components/GetCreditNoteResponse.md) | :heavy_minus_sign: | Credit Note | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCreditNotesUpdateRequest.md b/docs/Models/Requests/AccountingCreditNotesUpdateRequest.md new file mode 100644 index 00000000..de035f82 --- /dev/null +++ b/docs/Models/Requests/AccountingCreditNotesUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingCreditNotesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `CreditNote` | [CreditNoteInput](../../Models/Components/CreditNoteInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCreditNotesUpdateResponse.md b/docs/Models/Requests/AccountingCreditNotesUpdateResponse.md new file mode 100644 index 00000000..e946e312 --- /dev/null +++ b/docs/Models/Requests/AccountingCreditNotesUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingCreditNotesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateCreditNoteResponse` | [UpdateCreditNoteResponse](../../Models/Components/UpdateCreditNoteResponse.md) | :heavy_minus_sign: | Credit Note updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCustomersAddRequest.md b/docs/Models/Requests/AccountingCustomersAddRequest.md new file mode 100644 index 00000000..d51e16d8 --- /dev/null +++ b/docs/Models/Requests/AccountingCustomersAddRequest.md @@ -0,0 +1,12 @@ +# AccountingCustomersAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Customer` | [CustomerInput](../../Models/Components/CustomerInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCustomersAddResponse.md b/docs/Models/Requests/AccountingCustomersAddResponse.md new file mode 100644 index 00000000..c4128499 --- /dev/null +++ b/docs/Models/Requests/AccountingCustomersAddResponse.md @@ -0,0 +1,10 @@ +# AccountingCustomersAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateCustomerResponse` | [CreateCustomerResponse](../../Models/Components/CreateCustomerResponse.md) | :heavy_minus_sign: | Customers | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCustomersAllRequest.md b/docs/Models/Requests/AccountingCustomersAllRequest.md new file mode 100644 index 00000000..cf4b5583 --- /dev/null +++ b/docs/Models/Requests/AccountingCustomersAllRequest.md @@ -0,0 +1,17 @@ +# AccountingCustomersAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [CustomersFilter](../../Models/Components/CustomersFilter.md) | :heavy_minus_sign: | Apply filters | {
"company_name": "SpaceX",
"display_name": "Elon Musk",
"first_name": "Elon",
"last_name": "Musk",
"email": "elon@musk.com",
"status": "active",
"updated_since": "2020-09-30T07:43:32.000Z"
} | +| `Sort` | [CustomersSort](../../Models/Components/CustomersSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCustomersAllResponse.md b/docs/Models/Requests/AccountingCustomersAllResponse.md new file mode 100644 index 00000000..bbdc8492 --- /dev/null +++ b/docs/Models/Requests/AccountingCustomersAllResponse.md @@ -0,0 +1,10 @@ +# AccountingCustomersAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCustomersResponse` | [GetCustomersResponse](../../Models/Components/GetCustomersResponse.md) | :heavy_minus_sign: | Customers | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCustomersDeleteRequest.md b/docs/Models/Requests/AccountingCustomersDeleteRequest.md new file mode 100644 index 00000000..89373e07 --- /dev/null +++ b/docs/Models/Requests/AccountingCustomersDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingCustomersDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCustomersDeleteResponse.md b/docs/Models/Requests/AccountingCustomersDeleteResponse.md new file mode 100644 index 00000000..83a6915c --- /dev/null +++ b/docs/Models/Requests/AccountingCustomersDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingCustomersDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteCustomerResponse` | [DeleteCustomerResponse](../../Models/Components/DeleteCustomerResponse.md) | :heavy_minus_sign: | Customers | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCustomersOneRequest.md b/docs/Models/Requests/AccountingCustomersOneRequest.md new file mode 100644 index 00000000..fad19d0c --- /dev/null +++ b/docs/Models/Requests/AccountingCustomersOneRequest.md @@ -0,0 +1,13 @@ +# AccountingCustomersOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCustomersOneResponse.md b/docs/Models/Requests/AccountingCustomersOneResponse.md new file mode 100644 index 00000000..6236cc73 --- /dev/null +++ b/docs/Models/Requests/AccountingCustomersOneResponse.md @@ -0,0 +1,10 @@ +# AccountingCustomersOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCustomerResponse` | [GetCustomerResponse](../../Models/Components/GetCustomerResponse.md) | :heavy_minus_sign: | Customer | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCustomersUpdateRequest.md b/docs/Models/Requests/AccountingCustomersUpdateRequest.md new file mode 100644 index 00000000..c1abaccc --- /dev/null +++ b/docs/Models/Requests/AccountingCustomersUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingCustomersUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Customer` | [CustomerInput](../../Models/Components/CustomerInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingCustomersUpdateResponse.md b/docs/Models/Requests/AccountingCustomersUpdateResponse.md new file mode 100644 index 00000000..f27d8098 --- /dev/null +++ b/docs/Models/Requests/AccountingCustomersUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingCustomersUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateCustomerResponse` | [UpdateCustomerResponse](../../Models/Components/UpdateCustomerResponse.md) | :heavy_minus_sign: | Customers | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingDepartmentsAddRequest.md b/docs/Models/Requests/AccountingDepartmentsAddRequest.md new file mode 100644 index 00000000..c68b7eb8 --- /dev/null +++ b/docs/Models/Requests/AccountingDepartmentsAddRequest.md @@ -0,0 +1,12 @@ +# AccountingDepartmentsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `AccountingDepartment` | [AccountingDepartmentInput](../../Models/Components/AccountingDepartmentInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingDepartmentsAddResponse.md b/docs/Models/Requests/AccountingDepartmentsAddResponse.md new file mode 100644 index 00000000..d597ffc7 --- /dev/null +++ b/docs/Models/Requests/AccountingDepartmentsAddResponse.md @@ -0,0 +1,10 @@ +# AccountingDepartmentsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateAccountingDepartmentResponse` | [CreateAccountingDepartmentResponse](../../Models/Components/CreateAccountingDepartmentResponse.md) | :heavy_minus_sign: | Department | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingDepartmentsAllRequest.md b/docs/Models/Requests/AccountingDepartmentsAllRequest.md new file mode 100644 index 00000000..65547e5a --- /dev/null +++ b/docs/Models/Requests/AccountingDepartmentsAllRequest.md @@ -0,0 +1,15 @@ +# AccountingDepartmentsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | +| `Filter` | [AccountingDepartmentsFilter](../../Models/Components/AccountingDepartmentsFilter.md) | :heavy_minus_sign: | Apply filters | {
"subsidiary": "1"
} | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingDepartmentsAllResponse.md b/docs/Models/Requests/AccountingDepartmentsAllResponse.md new file mode 100644 index 00000000..01a5e4b7 --- /dev/null +++ b/docs/Models/Requests/AccountingDepartmentsAllResponse.md @@ -0,0 +1,10 @@ +# AccountingDepartmentsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetAccountingDepartmentsResponse` | [GetAccountingDepartmentsResponse](../../Models/Components/GetAccountingDepartmentsResponse.md) | :heavy_minus_sign: | Departments | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingDepartmentsDeleteRequest.md b/docs/Models/Requests/AccountingDepartmentsDeleteRequest.md new file mode 100644 index 00000000..47edee54 --- /dev/null +++ b/docs/Models/Requests/AccountingDepartmentsDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingDepartmentsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingDepartmentsDeleteResponse.md b/docs/Models/Requests/AccountingDepartmentsDeleteResponse.md new file mode 100644 index 00000000..980c08a3 --- /dev/null +++ b/docs/Models/Requests/AccountingDepartmentsDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingDepartmentsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteAccountingDepartmentResponse` | [DeleteAccountingDepartmentResponse](../../Models/Components/DeleteAccountingDepartmentResponse.md) | :heavy_minus_sign: | Department deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingDepartmentsOneRequest.md b/docs/Models/Requests/AccountingDepartmentsOneRequest.md new file mode 100644 index 00000000..8fc1c165 --- /dev/null +++ b/docs/Models/Requests/AccountingDepartmentsOneRequest.md @@ -0,0 +1,13 @@ +# AccountingDepartmentsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingDepartmentsOneResponse.md b/docs/Models/Requests/AccountingDepartmentsOneResponse.md new file mode 100644 index 00000000..9cef4bb8 --- /dev/null +++ b/docs/Models/Requests/AccountingDepartmentsOneResponse.md @@ -0,0 +1,10 @@ +# AccountingDepartmentsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetAccountingDepartmentResponse` | [GetAccountingDepartmentResponse](../../Models/Components/GetAccountingDepartmentResponse.md) | :heavy_minus_sign: | Location | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingDepartmentsUpdateRequest.md b/docs/Models/Requests/AccountingDepartmentsUpdateRequest.md new file mode 100644 index 00000000..9a7e9c7c --- /dev/null +++ b/docs/Models/Requests/AccountingDepartmentsUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingDepartmentsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `AccountingDepartment` | [AccountingDepartmentInput](../../Models/Components/AccountingDepartmentInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingDepartmentsUpdateResponse.md b/docs/Models/Requests/AccountingDepartmentsUpdateResponse.md new file mode 100644 index 00000000..4ecae8cd --- /dev/null +++ b/docs/Models/Requests/AccountingDepartmentsUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingDepartmentsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateAccountingDepartmentResponse` | [UpdateAccountingDepartmentResponse](../../Models/Components/UpdateAccountingDepartmentResponse.md) | :heavy_minus_sign: | Department | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingExpensesAddRequest.md b/docs/Models/Requests/AccountingExpensesAddRequest.md new file mode 100644 index 00000000..0114bd9e --- /dev/null +++ b/docs/Models/Requests/AccountingExpensesAddRequest.md @@ -0,0 +1,12 @@ +# AccountingExpensesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Expense` | [ExpenseInput](../../Models/Components/ExpenseInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingExpensesAddResponse.md b/docs/Models/Requests/AccountingExpensesAddResponse.md new file mode 100644 index 00000000..5b9d73fa --- /dev/null +++ b/docs/Models/Requests/AccountingExpensesAddResponse.md @@ -0,0 +1,10 @@ +# AccountingExpensesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateExpenseResponse` | [CreateExpenseResponse](../../Models/Components/CreateExpenseResponse.md) | :heavy_minus_sign: | Expenses | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingExpensesAllRequest.md b/docs/Models/Requests/AccountingExpensesAllRequest.md new file mode 100644 index 00000000..b2e20b6e --- /dev/null +++ b/docs/Models/Requests/AccountingExpensesAllRequest.md @@ -0,0 +1,13 @@ +# AccountingExpensesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingExpensesAllResponse.md b/docs/Models/Requests/AccountingExpensesAllResponse.md new file mode 100644 index 00000000..17297c2b --- /dev/null +++ b/docs/Models/Requests/AccountingExpensesAllResponse.md @@ -0,0 +1,10 @@ +# AccountingExpensesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetExpensesResponse` | [GetExpensesResponse](../../Models/Components/GetExpensesResponse.md) | :heavy_minus_sign: | Expenses | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingExpensesDeleteRequest.md b/docs/Models/Requests/AccountingExpensesDeleteRequest.md new file mode 100644 index 00000000..963d21b1 --- /dev/null +++ b/docs/Models/Requests/AccountingExpensesDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingExpensesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingExpensesDeleteResponse.md b/docs/Models/Requests/AccountingExpensesDeleteResponse.md new file mode 100644 index 00000000..c952d604 --- /dev/null +++ b/docs/Models/Requests/AccountingExpensesDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingExpensesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteExpenseResponse` | [DeleteExpenseResponse](../../Models/Components/DeleteExpenseResponse.md) | :heavy_minus_sign: | Expenses | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingExpensesOneRequest.md b/docs/Models/Requests/AccountingExpensesOneRequest.md new file mode 100644 index 00000000..e600eb3d --- /dev/null +++ b/docs/Models/Requests/AccountingExpensesOneRequest.md @@ -0,0 +1,12 @@ +# AccountingExpensesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingExpensesOneResponse.md b/docs/Models/Requests/AccountingExpensesOneResponse.md new file mode 100644 index 00000000..df165bff --- /dev/null +++ b/docs/Models/Requests/AccountingExpensesOneResponse.md @@ -0,0 +1,10 @@ +# AccountingExpensesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetExpenseResponse` | [GetExpenseResponse](../../Models/Components/GetExpenseResponse.md) | :heavy_minus_sign: | Expenses | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingExpensesUpdateRequest.md b/docs/Models/Requests/AccountingExpensesUpdateRequest.md new file mode 100644 index 00000000..bdfc8eee --- /dev/null +++ b/docs/Models/Requests/AccountingExpensesUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingExpensesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Expense` | [ExpenseInput](../../Models/Components/ExpenseInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingExpensesUpdateResponse.md b/docs/Models/Requests/AccountingExpensesUpdateResponse.md new file mode 100644 index 00000000..f43ca340 --- /dev/null +++ b/docs/Models/Requests/AccountingExpensesUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingExpensesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateExpenseResponse` | [UpdateExpenseResponse](../../Models/Components/UpdateExpenseResponse.md) | :heavy_minus_sign: | Expenses | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoiceItemsAddRequest.md b/docs/Models/Requests/AccountingInvoiceItemsAddRequest.md new file mode 100644 index 00000000..04ee37cb --- /dev/null +++ b/docs/Models/Requests/AccountingInvoiceItemsAddRequest.md @@ -0,0 +1,12 @@ +# AccountingInvoiceItemsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `InvoiceItem` | [InvoiceItemInput](../../Models/Components/InvoiceItemInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoiceItemsAddResponse.md b/docs/Models/Requests/AccountingInvoiceItemsAddResponse.md new file mode 100644 index 00000000..b32046c8 --- /dev/null +++ b/docs/Models/Requests/AccountingInvoiceItemsAddResponse.md @@ -0,0 +1,10 @@ +# AccountingInvoiceItemsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateInvoiceItemResponse` | [CreateInvoiceItemResponse](../../Models/Components/CreateInvoiceItemResponse.md) | :heavy_minus_sign: | InvoiceItems | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoiceItemsAllRequest.md b/docs/Models/Requests/AccountingInvoiceItemsAllRequest.md new file mode 100644 index 00000000..0a3b945a --- /dev/null +++ b/docs/Models/Requests/AccountingInvoiceItemsAllRequest.md @@ -0,0 +1,16 @@ +# AccountingInvoiceItemsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [InvoiceItemsFilter](../../Models/Components/InvoiceItemsFilter.md) | :heavy_minus_sign: | Apply filters | {
"name": "Widgets Large",
"type": "service"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoiceItemsAllResponse.md b/docs/Models/Requests/AccountingInvoiceItemsAllResponse.md new file mode 100644 index 00000000..6ae0d1d3 --- /dev/null +++ b/docs/Models/Requests/AccountingInvoiceItemsAllResponse.md @@ -0,0 +1,10 @@ +# AccountingInvoiceItemsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetInvoiceItemsResponse` | [GetInvoiceItemsResponse](../../Models/Components/GetInvoiceItemsResponse.md) | :heavy_minus_sign: | InvoiceItems | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoiceItemsDeleteRequest.md b/docs/Models/Requests/AccountingInvoiceItemsDeleteRequest.md new file mode 100644 index 00000000..38cffc58 --- /dev/null +++ b/docs/Models/Requests/AccountingInvoiceItemsDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingInvoiceItemsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoiceItemsDeleteResponse.md b/docs/Models/Requests/AccountingInvoiceItemsDeleteResponse.md new file mode 100644 index 00000000..08389b1a --- /dev/null +++ b/docs/Models/Requests/AccountingInvoiceItemsDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingInvoiceItemsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteTaxRateResponse` | [DeleteTaxRateResponse](../../Models/Components/DeleteTaxRateResponse.md) | :heavy_minus_sign: | InvoiceItems | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoiceItemsOneRequest.md b/docs/Models/Requests/AccountingInvoiceItemsOneRequest.md new file mode 100644 index 00000000..b95c7f26 --- /dev/null +++ b/docs/Models/Requests/AccountingInvoiceItemsOneRequest.md @@ -0,0 +1,14 @@ +# AccountingInvoiceItemsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | +| `Filter` | [InvoiceItemFilter](../../Models/Components/InvoiceItemFilter.md) | :heavy_minus_sign: | Apply filters | {
"type": "service"
} | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoiceItemsOneResponse.md b/docs/Models/Requests/AccountingInvoiceItemsOneResponse.md new file mode 100644 index 00000000..623eb05d --- /dev/null +++ b/docs/Models/Requests/AccountingInvoiceItemsOneResponse.md @@ -0,0 +1,10 @@ +# AccountingInvoiceItemsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetInvoiceItemResponse` | [GetInvoiceItemResponse](../../Models/Components/GetInvoiceItemResponse.md) | :heavy_minus_sign: | InvoiceItems | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoiceItemsUpdateRequest.md b/docs/Models/Requests/AccountingInvoiceItemsUpdateRequest.md new file mode 100644 index 00000000..1a8e4f1a --- /dev/null +++ b/docs/Models/Requests/AccountingInvoiceItemsUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingInvoiceItemsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `InvoiceItem` | [InvoiceItemInput](../../Models/Components/InvoiceItemInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoiceItemsUpdateResponse.md b/docs/Models/Requests/AccountingInvoiceItemsUpdateResponse.md new file mode 100644 index 00000000..52de0f6a --- /dev/null +++ b/docs/Models/Requests/AccountingInvoiceItemsUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingInvoiceItemsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateInvoiceItemsResponse` | [UpdateInvoiceItemsResponse](../../Models/Components/UpdateInvoiceItemsResponse.md) | :heavy_minus_sign: | InvoiceItems | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoicesAddRequest.md b/docs/Models/Requests/AccountingInvoicesAddRequest.md new file mode 100644 index 00000000..52e382ba --- /dev/null +++ b/docs/Models/Requests/AccountingInvoicesAddRequest.md @@ -0,0 +1,12 @@ +# AccountingInvoicesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Invoice` | [InvoiceInput](../../Models/Components/InvoiceInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoicesAddResponse.md b/docs/Models/Requests/AccountingInvoicesAddResponse.md new file mode 100644 index 00000000..3057a683 --- /dev/null +++ b/docs/Models/Requests/AccountingInvoicesAddResponse.md @@ -0,0 +1,10 @@ +# AccountingInvoicesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateInvoiceResponse` | [CreateInvoiceResponse](../../Models/Components/CreateInvoiceResponse.md) | :heavy_minus_sign: | Invoice created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoicesAllRequest.md b/docs/Models/Requests/AccountingInvoicesAllRequest.md new file mode 100644 index 00000000..806a9915 --- /dev/null +++ b/docs/Models/Requests/AccountingInvoicesAllRequest.md @@ -0,0 +1,17 @@ +# AccountingInvoicesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [InvoicesFilter](../../Models/Components/InvoicesFilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z",
"created_since": "2020-09-30T07:43:32.000Z",
"number": "OIT00546"
} | +| `Sort` | [InvoicesSort](../../Models/Components/InvoicesSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoicesAllResponse.md b/docs/Models/Requests/AccountingInvoicesAllResponse.md new file mode 100644 index 00000000..3a176386 --- /dev/null +++ b/docs/Models/Requests/AccountingInvoicesAllResponse.md @@ -0,0 +1,10 @@ +# AccountingInvoicesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetInvoicesResponse` | [GetInvoicesResponse](../../Models/Components/GetInvoicesResponse.md) | :heavy_minus_sign: | Invoices | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoicesDeleteRequest.md b/docs/Models/Requests/AccountingInvoicesDeleteRequest.md new file mode 100644 index 00000000..7c0b258f --- /dev/null +++ b/docs/Models/Requests/AccountingInvoicesDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingInvoicesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoicesDeleteResponse.md b/docs/Models/Requests/AccountingInvoicesDeleteResponse.md new file mode 100644 index 00000000..51e43a7b --- /dev/null +++ b/docs/Models/Requests/AccountingInvoicesDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingInvoicesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteInvoiceResponse` | [DeleteInvoiceResponse](../../Models/Components/DeleteInvoiceResponse.md) | :heavy_minus_sign: | Invoice deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoicesOneRequest.md b/docs/Models/Requests/AccountingInvoicesOneRequest.md new file mode 100644 index 00000000..e0afa3f6 --- /dev/null +++ b/docs/Models/Requests/AccountingInvoicesOneRequest.md @@ -0,0 +1,13 @@ +# AccountingInvoicesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoicesOneResponse.md b/docs/Models/Requests/AccountingInvoicesOneResponse.md new file mode 100644 index 00000000..d6e6047b --- /dev/null +++ b/docs/Models/Requests/AccountingInvoicesOneResponse.md @@ -0,0 +1,10 @@ +# AccountingInvoicesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetInvoiceResponse` | [GetInvoiceResponse](../../Models/Components/GetInvoiceResponse.md) | :heavy_minus_sign: | Invoice | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoicesUpdateRequest.md b/docs/Models/Requests/AccountingInvoicesUpdateRequest.md new file mode 100644 index 00000000..f9b032a5 --- /dev/null +++ b/docs/Models/Requests/AccountingInvoicesUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingInvoicesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Invoice` | [InvoiceInput](../../Models/Components/InvoiceInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingInvoicesUpdateResponse.md b/docs/Models/Requests/AccountingInvoicesUpdateResponse.md new file mode 100644 index 00000000..31d6e92c --- /dev/null +++ b/docs/Models/Requests/AccountingInvoicesUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingInvoicesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateInvoiceResponse` | [UpdateInvoiceResponse](../../Models/Components/UpdateInvoiceResponse.md) | :heavy_minus_sign: | Invoice updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingJournalEntriesAddRequest.md b/docs/Models/Requests/AccountingJournalEntriesAddRequest.md new file mode 100644 index 00000000..2bae6744 --- /dev/null +++ b/docs/Models/Requests/AccountingJournalEntriesAddRequest.md @@ -0,0 +1,12 @@ +# AccountingJournalEntriesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `JournalEntry` | [JournalEntryInput](../../Models/Components/JournalEntryInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingJournalEntriesAddResponse.md b/docs/Models/Requests/AccountingJournalEntriesAddResponse.md new file mode 100644 index 00000000..1879bcc1 --- /dev/null +++ b/docs/Models/Requests/AccountingJournalEntriesAddResponse.md @@ -0,0 +1,10 @@ +# AccountingJournalEntriesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateJournalEntryResponse` | [CreateJournalEntryResponse](../../Models/Components/CreateJournalEntryResponse.md) | :heavy_minus_sign: | JournalEntries | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingJournalEntriesAllRequest.md b/docs/Models/Requests/AccountingJournalEntriesAllRequest.md new file mode 100644 index 00000000..5e3bfd91 --- /dev/null +++ b/docs/Models/Requests/AccountingJournalEntriesAllRequest.md @@ -0,0 +1,17 @@ +# AccountingJournalEntriesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [JournalEntriesFilter](../../Models/Components/JournalEntriesFilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z"
} | +| `Sort` | [JournalEntriesSort](../../Models/Components/JournalEntriesSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingJournalEntriesAllResponse.md b/docs/Models/Requests/AccountingJournalEntriesAllResponse.md new file mode 100644 index 00000000..ba118a25 --- /dev/null +++ b/docs/Models/Requests/AccountingJournalEntriesAllResponse.md @@ -0,0 +1,10 @@ +# AccountingJournalEntriesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetJournalEntriesResponse` | [GetJournalEntriesResponse](../../Models/Components/GetJournalEntriesResponse.md) | :heavy_minus_sign: | JournalEntry | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingJournalEntriesDeleteRequest.md b/docs/Models/Requests/AccountingJournalEntriesDeleteRequest.md new file mode 100644 index 00000000..5489dc71 --- /dev/null +++ b/docs/Models/Requests/AccountingJournalEntriesDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingJournalEntriesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingJournalEntriesDeleteResponse.md b/docs/Models/Requests/AccountingJournalEntriesDeleteResponse.md new file mode 100644 index 00000000..ec9b33d5 --- /dev/null +++ b/docs/Models/Requests/AccountingJournalEntriesDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingJournalEntriesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteJournalEntryResponse` | [DeleteJournalEntryResponse](../../Models/Components/DeleteJournalEntryResponse.md) | :heavy_minus_sign: | JournalEntries | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingJournalEntriesOneRequest.md b/docs/Models/Requests/AccountingJournalEntriesOneRequest.md new file mode 100644 index 00000000..87fdba60 --- /dev/null +++ b/docs/Models/Requests/AccountingJournalEntriesOneRequest.md @@ -0,0 +1,13 @@ +# AccountingJournalEntriesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingJournalEntriesOneResponse.md b/docs/Models/Requests/AccountingJournalEntriesOneResponse.md new file mode 100644 index 00000000..95b6af61 --- /dev/null +++ b/docs/Models/Requests/AccountingJournalEntriesOneResponse.md @@ -0,0 +1,10 @@ +# AccountingJournalEntriesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetJournalEntryResponse` | [GetJournalEntryResponse](../../Models/Components/GetJournalEntryResponse.md) | :heavy_minus_sign: | JournalEntries | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingJournalEntriesUpdateRequest.md b/docs/Models/Requests/AccountingJournalEntriesUpdateRequest.md new file mode 100644 index 00000000..cd3142b5 --- /dev/null +++ b/docs/Models/Requests/AccountingJournalEntriesUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingJournalEntriesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `JournalEntry` | [JournalEntryInput](../../Models/Components/JournalEntryInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingJournalEntriesUpdateResponse.md b/docs/Models/Requests/AccountingJournalEntriesUpdateResponse.md new file mode 100644 index 00000000..8d07dd6f --- /dev/null +++ b/docs/Models/Requests/AccountingJournalEntriesUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingJournalEntriesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateJournalEntryResponse` | [UpdateJournalEntryResponse](../../Models/Components/UpdateJournalEntryResponse.md) | :heavy_minus_sign: | JournalEntries | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLedgerAccountsAddRequest.md b/docs/Models/Requests/AccountingLedgerAccountsAddRequest.md new file mode 100644 index 00000000..7f5d6842 --- /dev/null +++ b/docs/Models/Requests/AccountingLedgerAccountsAddRequest.md @@ -0,0 +1,12 @@ +# AccountingLedgerAccountsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `LedgerAccount` | [LedgerAccountInput](../../Models/Components/LedgerAccountInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLedgerAccountsAddResponse.md b/docs/Models/Requests/AccountingLedgerAccountsAddResponse.md new file mode 100644 index 00000000..a7697ffa --- /dev/null +++ b/docs/Models/Requests/AccountingLedgerAccountsAddResponse.md @@ -0,0 +1,10 @@ +# AccountingLedgerAccountsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateLedgerAccountResponse` | [CreateLedgerAccountResponse](../../Models/Components/CreateLedgerAccountResponse.md) | :heavy_minus_sign: | LedgerAccount created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLedgerAccountsAllRequest.md b/docs/Models/Requests/AccountingLedgerAccountsAllRequest.md new file mode 100644 index 00000000..0e40f301 --- /dev/null +++ b/docs/Models/Requests/AccountingLedgerAccountsAllRequest.md @@ -0,0 +1,17 @@ +# AccountingLedgerAccountsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [LedgerAccountsFilter](../../Models/Components/LedgerAccountsFilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z"
} | +| `Sort` | [LedgerAccountsSort](../../Models/Components/LedgerAccountsSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLedgerAccountsAllResponse.md b/docs/Models/Requests/AccountingLedgerAccountsAllResponse.md new file mode 100644 index 00000000..6b171701 --- /dev/null +++ b/docs/Models/Requests/AccountingLedgerAccountsAllResponse.md @@ -0,0 +1,10 @@ +# AccountingLedgerAccountsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetLedgerAccountsResponse` | [GetLedgerAccountsResponse](../../Models/Components/GetLedgerAccountsResponse.md) | :heavy_minus_sign: | LedgerAccounts | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLedgerAccountsDeleteRequest.md b/docs/Models/Requests/AccountingLedgerAccountsDeleteRequest.md new file mode 100644 index 00000000..edf52d75 --- /dev/null +++ b/docs/Models/Requests/AccountingLedgerAccountsDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingLedgerAccountsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLedgerAccountsDeleteResponse.md b/docs/Models/Requests/AccountingLedgerAccountsDeleteResponse.md new file mode 100644 index 00000000..2b3243f1 --- /dev/null +++ b/docs/Models/Requests/AccountingLedgerAccountsDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingLedgerAccountsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteLedgerAccountResponse` | [DeleteLedgerAccountResponse](../../Models/Components/DeleteLedgerAccountResponse.md) | :heavy_minus_sign: | LedgerAccount deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLedgerAccountsOneRequest.md b/docs/Models/Requests/AccountingLedgerAccountsOneRequest.md new file mode 100644 index 00000000..dfd89d1c --- /dev/null +++ b/docs/Models/Requests/AccountingLedgerAccountsOneRequest.md @@ -0,0 +1,13 @@ +# AccountingLedgerAccountsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLedgerAccountsOneResponse.md b/docs/Models/Requests/AccountingLedgerAccountsOneResponse.md new file mode 100644 index 00000000..aa25710f --- /dev/null +++ b/docs/Models/Requests/AccountingLedgerAccountsOneResponse.md @@ -0,0 +1,10 @@ +# AccountingLedgerAccountsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetLedgerAccountResponse` | [GetLedgerAccountResponse](../../Models/Components/GetLedgerAccountResponse.md) | :heavy_minus_sign: | LedgerAccount | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLedgerAccountsUpdateRequest.md b/docs/Models/Requests/AccountingLedgerAccountsUpdateRequest.md new file mode 100644 index 00000000..a17f4a16 --- /dev/null +++ b/docs/Models/Requests/AccountingLedgerAccountsUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingLedgerAccountsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `LedgerAccount` | [LedgerAccountInput](../../Models/Components/LedgerAccountInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLedgerAccountsUpdateResponse.md b/docs/Models/Requests/AccountingLedgerAccountsUpdateResponse.md new file mode 100644 index 00000000..2efc7db8 --- /dev/null +++ b/docs/Models/Requests/AccountingLedgerAccountsUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingLedgerAccountsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateLedgerAccountResponse` | [UpdateLedgerAccountResponse](../../Models/Components/UpdateLedgerAccountResponse.md) | :heavy_minus_sign: | LedgerAccount updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLocationsAddRequest.md b/docs/Models/Requests/AccountingLocationsAddRequest.md new file mode 100644 index 00000000..6f95dc0e --- /dev/null +++ b/docs/Models/Requests/AccountingLocationsAddRequest.md @@ -0,0 +1,12 @@ +# AccountingLocationsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `AccountingLocation` | [AccountingLocationInput](../../Models/Components/AccountingLocationInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLocationsAddResponse.md b/docs/Models/Requests/AccountingLocationsAddResponse.md new file mode 100644 index 00000000..fc501261 --- /dev/null +++ b/docs/Models/Requests/AccountingLocationsAddResponse.md @@ -0,0 +1,10 @@ +# AccountingLocationsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateAccountingLocationResponse` | [CreateAccountingLocationResponse](../../Models/Components/CreateAccountingLocationResponse.md) | :heavy_minus_sign: | Location | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLocationsAllRequest.md b/docs/Models/Requests/AccountingLocationsAllRequest.md new file mode 100644 index 00000000..14b2c6eb --- /dev/null +++ b/docs/Models/Requests/AccountingLocationsAllRequest.md @@ -0,0 +1,15 @@ +# AccountingLocationsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | +| `Filter` | [AccountingLocationsFilter](../../Models/Components/AccountingLocationsFilter.md) | :heavy_minus_sign: | Apply filters | {
"subsidiary": "1"
} | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLocationsAllResponse.md b/docs/Models/Requests/AccountingLocationsAllResponse.md new file mode 100644 index 00000000..f6c2a1a6 --- /dev/null +++ b/docs/Models/Requests/AccountingLocationsAllResponse.md @@ -0,0 +1,10 @@ +# AccountingLocationsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetAccountingLocationsResponse` | [GetAccountingLocationsResponse](../../Models/Components/GetAccountingLocationsResponse.md) | :heavy_minus_sign: | Locations | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLocationsDeleteRequest.md b/docs/Models/Requests/AccountingLocationsDeleteRequest.md new file mode 100644 index 00000000..6fc41599 --- /dev/null +++ b/docs/Models/Requests/AccountingLocationsDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingLocationsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLocationsDeleteResponse.md b/docs/Models/Requests/AccountingLocationsDeleteResponse.md new file mode 100644 index 00000000..dcfe54bf --- /dev/null +++ b/docs/Models/Requests/AccountingLocationsDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingLocationsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteAccountingLocationResponse` | [DeleteAccountingLocationResponse](../../Models/Components/DeleteAccountingLocationResponse.md) | :heavy_minus_sign: | Location deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLocationsOneRequest.md b/docs/Models/Requests/AccountingLocationsOneRequest.md new file mode 100644 index 00000000..fa833189 --- /dev/null +++ b/docs/Models/Requests/AccountingLocationsOneRequest.md @@ -0,0 +1,13 @@ +# AccountingLocationsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLocationsOneResponse.md b/docs/Models/Requests/AccountingLocationsOneResponse.md new file mode 100644 index 00000000..96a99993 --- /dev/null +++ b/docs/Models/Requests/AccountingLocationsOneResponse.md @@ -0,0 +1,10 @@ +# AccountingLocationsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetAccountingLocationResponse` | [GetAccountingLocationResponse](../../Models/Components/GetAccountingLocationResponse.md) | :heavy_minus_sign: | Location | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLocationsUpdateRequest.md b/docs/Models/Requests/AccountingLocationsUpdateRequest.md new file mode 100644 index 00000000..ffdb1c59 --- /dev/null +++ b/docs/Models/Requests/AccountingLocationsUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingLocationsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `AccountingLocation` | [AccountingLocationInput](../../Models/Components/AccountingLocationInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingLocationsUpdateResponse.md b/docs/Models/Requests/AccountingLocationsUpdateResponse.md new file mode 100644 index 00000000..8321b830 --- /dev/null +++ b/docs/Models/Requests/AccountingLocationsUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingLocationsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateAccountingLocationResponse` | [UpdateAccountingLocationResponse](../../Models/Components/UpdateAccountingLocationResponse.md) | :heavy_minus_sign: | Location | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPaymentsAddRequest.md b/docs/Models/Requests/AccountingPaymentsAddRequest.md new file mode 100644 index 00000000..7ad03046 --- /dev/null +++ b/docs/Models/Requests/AccountingPaymentsAddRequest.md @@ -0,0 +1,12 @@ +# AccountingPaymentsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Payment` | [PaymentInput](../../Models/Components/PaymentInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPaymentsAddResponse.md b/docs/Models/Requests/AccountingPaymentsAddResponse.md new file mode 100644 index 00000000..921885c1 --- /dev/null +++ b/docs/Models/Requests/AccountingPaymentsAddResponse.md @@ -0,0 +1,10 @@ +# AccountingPaymentsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreatePaymentResponse` | [CreatePaymentResponse](../../Models/Components/CreatePaymentResponse.md) | :heavy_minus_sign: | Payment created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPaymentsAllRequest.md b/docs/Models/Requests/AccountingPaymentsAllRequest.md new file mode 100644 index 00000000..7b750ef2 --- /dev/null +++ b/docs/Models/Requests/AccountingPaymentsAllRequest.md @@ -0,0 +1,17 @@ +# AccountingPaymentsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [PaymentsFilter](../../Models/Components/PaymentsFilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z"
} | +| `Sort` | [PaymentsSort](../../Models/Components/PaymentsSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPaymentsAllResponse.md b/docs/Models/Requests/AccountingPaymentsAllResponse.md new file mode 100644 index 00000000..ae0fb971 --- /dev/null +++ b/docs/Models/Requests/AccountingPaymentsAllResponse.md @@ -0,0 +1,10 @@ +# AccountingPaymentsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetPaymentsResponse` | [GetPaymentsResponse](../../Models/Components/GetPaymentsResponse.md) | :heavy_minus_sign: | Payments | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPaymentsDeleteRequest.md b/docs/Models/Requests/AccountingPaymentsDeleteRequest.md new file mode 100644 index 00000000..267cd34e --- /dev/null +++ b/docs/Models/Requests/AccountingPaymentsDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingPaymentsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPaymentsDeleteResponse.md b/docs/Models/Requests/AccountingPaymentsDeleteResponse.md new file mode 100644 index 00000000..4843c136 --- /dev/null +++ b/docs/Models/Requests/AccountingPaymentsDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingPaymentsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeletePaymentResponse` | [DeletePaymentResponse](../../Models/Components/DeletePaymentResponse.md) | :heavy_minus_sign: | Payment deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPaymentsOneRequest.md b/docs/Models/Requests/AccountingPaymentsOneRequest.md new file mode 100644 index 00000000..54d4d4cf --- /dev/null +++ b/docs/Models/Requests/AccountingPaymentsOneRequest.md @@ -0,0 +1,13 @@ +# AccountingPaymentsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPaymentsOneResponse.md b/docs/Models/Requests/AccountingPaymentsOneResponse.md new file mode 100644 index 00000000..e0830e21 --- /dev/null +++ b/docs/Models/Requests/AccountingPaymentsOneResponse.md @@ -0,0 +1,10 @@ +# AccountingPaymentsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetPaymentResponse` | [GetPaymentResponse](../../Models/Components/GetPaymentResponse.md) | :heavy_minus_sign: | Payment | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPaymentsUpdateRequest.md b/docs/Models/Requests/AccountingPaymentsUpdateRequest.md new file mode 100644 index 00000000..6674a2e0 --- /dev/null +++ b/docs/Models/Requests/AccountingPaymentsUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingPaymentsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Payment` | [PaymentInput](../../Models/Components/PaymentInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPaymentsUpdateResponse.md b/docs/Models/Requests/AccountingPaymentsUpdateResponse.md new file mode 100644 index 00000000..75e22cb4 --- /dev/null +++ b/docs/Models/Requests/AccountingPaymentsUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingPaymentsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdatePaymentResponse` | [UpdatePaymentResponse](../../Models/Components/UpdatePaymentResponse.md) | :heavy_minus_sign: | Payment Updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingProfitAndLossOneRequest.md b/docs/Models/Requests/AccountingProfitAndLossOneRequest.md new file mode 100644 index 00000000..afccc398 --- /dev/null +++ b/docs/Models/Requests/AccountingProfitAndLossOneRequest.md @@ -0,0 +1,14 @@ +# AccountingProfitAndLossOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Filter` | [ProfitAndLossFilter](../../Models/Components/ProfitAndLossFilter.md) | :heavy_minus_sign: | Apply filters | {
"customer_id": "123abc",
"start_date": "2021-01-01",
"end_date": "2021-12-31"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingProfitAndLossOneResponse.md b/docs/Models/Requests/AccountingProfitAndLossOneResponse.md new file mode 100644 index 00000000..9701215c --- /dev/null +++ b/docs/Models/Requests/AccountingProfitAndLossOneResponse.md @@ -0,0 +1,10 @@ +# AccountingProfitAndLossOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetProfitAndLossResponse` | [GetProfitAndLossResponse](../../Models/Components/GetProfitAndLossResponse.md) | :heavy_minus_sign: | Profit & Loss Report | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPurchaseOrdersAddRequest.md b/docs/Models/Requests/AccountingPurchaseOrdersAddRequest.md new file mode 100644 index 00000000..4712f1bb --- /dev/null +++ b/docs/Models/Requests/AccountingPurchaseOrdersAddRequest.md @@ -0,0 +1,12 @@ +# AccountingPurchaseOrdersAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `PurchaseOrder` | [PurchaseOrderInput](../../Models/Components/PurchaseOrderInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPurchaseOrdersAddResponse.md b/docs/Models/Requests/AccountingPurchaseOrdersAddResponse.md new file mode 100644 index 00000000..6dc1b62a --- /dev/null +++ b/docs/Models/Requests/AccountingPurchaseOrdersAddResponse.md @@ -0,0 +1,10 @@ +# AccountingPurchaseOrdersAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreatePurchaseOrderResponse` | [CreatePurchaseOrderResponse](../../Models/Components/CreatePurchaseOrderResponse.md) | :heavy_minus_sign: | PurchaseOrders | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPurchaseOrdersAllRequest.md b/docs/Models/Requests/AccountingPurchaseOrdersAllRequest.md new file mode 100644 index 00000000..3b82b04a --- /dev/null +++ b/docs/Models/Requests/AccountingPurchaseOrdersAllRequest.md @@ -0,0 +1,16 @@ +# AccountingPurchaseOrdersAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [PurchaseOrdersFilter](../../Models/Components/PurchaseOrdersFilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z",
"supplier_id": "1234"
} | +| `Sort` | [PurchaseOrdersSort](../../Models/Components/PurchaseOrdersSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPurchaseOrdersAllResponse.md b/docs/Models/Requests/AccountingPurchaseOrdersAllResponse.md new file mode 100644 index 00000000..2b53c1f0 --- /dev/null +++ b/docs/Models/Requests/AccountingPurchaseOrdersAllResponse.md @@ -0,0 +1,10 @@ +# AccountingPurchaseOrdersAllResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetPurchaseOrdersResponse` | [GetPurchaseOrdersResponse](../../Models/Components/GetPurchaseOrdersResponse.md) | :heavy_minus_sign: | PurchaseOrders | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPurchaseOrdersDeleteRequest.md b/docs/Models/Requests/AccountingPurchaseOrdersDeleteRequest.md new file mode 100644 index 00000000..01546245 --- /dev/null +++ b/docs/Models/Requests/AccountingPurchaseOrdersDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingPurchaseOrdersDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPurchaseOrdersDeleteResponse.md b/docs/Models/Requests/AccountingPurchaseOrdersDeleteResponse.md new file mode 100644 index 00000000..2cf036ea --- /dev/null +++ b/docs/Models/Requests/AccountingPurchaseOrdersDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingPurchaseOrdersDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeletePurchaseOrderResponse` | [DeletePurchaseOrderResponse](../../Models/Components/DeletePurchaseOrderResponse.md) | :heavy_minus_sign: | PurchaseOrders | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPurchaseOrdersOneRequest.md b/docs/Models/Requests/AccountingPurchaseOrdersOneRequest.md new file mode 100644 index 00000000..a677b4d5 --- /dev/null +++ b/docs/Models/Requests/AccountingPurchaseOrdersOneRequest.md @@ -0,0 +1,12 @@ +# AccountingPurchaseOrdersOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPurchaseOrdersOneResponse.md b/docs/Models/Requests/AccountingPurchaseOrdersOneResponse.md new file mode 100644 index 00000000..21089c85 --- /dev/null +++ b/docs/Models/Requests/AccountingPurchaseOrdersOneResponse.md @@ -0,0 +1,10 @@ +# AccountingPurchaseOrdersOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetPurchaseOrderResponse` | [GetPurchaseOrderResponse](../../Models/Components/GetPurchaseOrderResponse.md) | :heavy_minus_sign: | PurchaseOrders | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPurchaseOrdersUpdateRequest.md b/docs/Models/Requests/AccountingPurchaseOrdersUpdateRequest.md new file mode 100644 index 00000000..a98163d9 --- /dev/null +++ b/docs/Models/Requests/AccountingPurchaseOrdersUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingPurchaseOrdersUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `PurchaseOrder` | [PurchaseOrderInput](../../Models/Components/PurchaseOrderInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingPurchaseOrdersUpdateResponse.md b/docs/Models/Requests/AccountingPurchaseOrdersUpdateResponse.md new file mode 100644 index 00000000..8f113fc5 --- /dev/null +++ b/docs/Models/Requests/AccountingPurchaseOrdersUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingPurchaseOrdersUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdatePurchaseOrderResponse` | [UpdatePurchaseOrderResponse](../../Models/Components/UpdatePurchaseOrderResponse.md) | :heavy_minus_sign: | PurchaseOrders | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSubsidiariesAddRequest.md b/docs/Models/Requests/AccountingSubsidiariesAddRequest.md new file mode 100644 index 00000000..9ada5756 --- /dev/null +++ b/docs/Models/Requests/AccountingSubsidiariesAddRequest.md @@ -0,0 +1,12 @@ +# AccountingSubsidiariesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Subsidiary` | [SubsidiaryInput](../../Models/Components/SubsidiaryInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSubsidiariesAddResponse.md b/docs/Models/Requests/AccountingSubsidiariesAddResponse.md new file mode 100644 index 00000000..3a63829c --- /dev/null +++ b/docs/Models/Requests/AccountingSubsidiariesAddResponse.md @@ -0,0 +1,10 @@ +# AccountingSubsidiariesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateSubsidiaryResponse` | [CreateSubsidiaryResponse](../../Models/Components/CreateSubsidiaryResponse.md) | :heavy_minus_sign: | Subsidiaries | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSubsidiariesAllRequest.md b/docs/Models/Requests/AccountingSubsidiariesAllRequest.md new file mode 100644 index 00000000..73ca64ab --- /dev/null +++ b/docs/Models/Requests/AccountingSubsidiariesAllRequest.md @@ -0,0 +1,14 @@ +# AccountingSubsidiariesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSubsidiariesAllResponse.md b/docs/Models/Requests/AccountingSubsidiariesAllResponse.md new file mode 100644 index 00000000..fed08a13 --- /dev/null +++ b/docs/Models/Requests/AccountingSubsidiariesAllResponse.md @@ -0,0 +1,10 @@ +# AccountingSubsidiariesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetSubsidiariesResponse` | [GetSubsidiariesResponse](../../Models/Components/GetSubsidiariesResponse.md) | :heavy_minus_sign: | Subsidiaries | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSubsidiariesDeleteRequest.md b/docs/Models/Requests/AccountingSubsidiariesDeleteRequest.md new file mode 100644 index 00000000..d8405f0f --- /dev/null +++ b/docs/Models/Requests/AccountingSubsidiariesDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingSubsidiariesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSubsidiariesDeleteResponse.md b/docs/Models/Requests/AccountingSubsidiariesDeleteResponse.md new file mode 100644 index 00000000..27ef9882 --- /dev/null +++ b/docs/Models/Requests/AccountingSubsidiariesDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingSubsidiariesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteSubsidiaryResponse` | [DeleteSubsidiaryResponse](../../Models/Components/DeleteSubsidiaryResponse.md) | :heavy_minus_sign: | Subsidiarys | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSubsidiariesOneRequest.md b/docs/Models/Requests/AccountingSubsidiariesOneRequest.md new file mode 100644 index 00000000..2e626af4 --- /dev/null +++ b/docs/Models/Requests/AccountingSubsidiariesOneRequest.md @@ -0,0 +1,13 @@ +# AccountingSubsidiariesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSubsidiariesOneResponse.md b/docs/Models/Requests/AccountingSubsidiariesOneResponse.md new file mode 100644 index 00000000..35d725ed --- /dev/null +++ b/docs/Models/Requests/AccountingSubsidiariesOneResponse.md @@ -0,0 +1,10 @@ +# AccountingSubsidiariesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetSubsidiaryResponse` | [GetSubsidiaryResponse](../../Models/Components/GetSubsidiaryResponse.md) | :heavy_minus_sign: | Subsidiary | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSubsidiariesUpdateRequest.md b/docs/Models/Requests/AccountingSubsidiariesUpdateRequest.md new file mode 100644 index 00000000..96232da7 --- /dev/null +++ b/docs/Models/Requests/AccountingSubsidiariesUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingSubsidiariesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Subsidiary` | [SubsidiaryInput](../../Models/Components/SubsidiaryInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSubsidiariesUpdateResponse.md b/docs/Models/Requests/AccountingSubsidiariesUpdateResponse.md new file mode 100644 index 00000000..a599ff24 --- /dev/null +++ b/docs/Models/Requests/AccountingSubsidiariesUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingSubsidiariesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateSubsidiaryResponse` | [UpdateSubsidiaryResponse](../../Models/Components/UpdateSubsidiaryResponse.md) | :heavy_minus_sign: | Subsidiaries | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSuppliersAddRequest.md b/docs/Models/Requests/AccountingSuppliersAddRequest.md new file mode 100644 index 00000000..5c68ef84 --- /dev/null +++ b/docs/Models/Requests/AccountingSuppliersAddRequest.md @@ -0,0 +1,12 @@ +# AccountingSuppliersAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Supplier` | [SupplierInput](../../Models/Components/SupplierInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSuppliersAddResponse.md b/docs/Models/Requests/AccountingSuppliersAddResponse.md new file mode 100644 index 00000000..fd847e44 --- /dev/null +++ b/docs/Models/Requests/AccountingSuppliersAddResponse.md @@ -0,0 +1,10 @@ +# AccountingSuppliersAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateSupplierResponse` | [CreateSupplierResponse](../../Models/Components/CreateSupplierResponse.md) | :heavy_minus_sign: | Supplier created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSuppliersAllRequest.md b/docs/Models/Requests/AccountingSuppliersAllRequest.md new file mode 100644 index 00000000..f63a4a46 --- /dev/null +++ b/docs/Models/Requests/AccountingSuppliersAllRequest.md @@ -0,0 +1,17 @@ +# AccountingSuppliersAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [SuppliersFilter](../../Models/Components/SuppliersFilter.md) | :heavy_minus_sign: | Apply filters | {
"company_name": "SpaceX",
"display_name": "Elon Musk",
"first_name": "Elon",
"last_name": "Musk",
"email": "elon@musk.com",
"updated_since": "2020-09-30T07:43:32.000Z"
} | +| `Sort` | [SuppliersSort](../../Models/Components/SuppliersSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSuppliersAllResponse.md b/docs/Models/Requests/AccountingSuppliersAllResponse.md new file mode 100644 index 00000000..9ca440d7 --- /dev/null +++ b/docs/Models/Requests/AccountingSuppliersAllResponse.md @@ -0,0 +1,10 @@ +# AccountingSuppliersAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetSuppliersResponse` | [GetSuppliersResponse](../../Models/Components/GetSuppliersResponse.md) | :heavy_minus_sign: | Suppliers | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSuppliersDeleteRequest.md b/docs/Models/Requests/AccountingSuppliersDeleteRequest.md new file mode 100644 index 00000000..847c3bba --- /dev/null +++ b/docs/Models/Requests/AccountingSuppliersDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingSuppliersDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSuppliersDeleteResponse.md b/docs/Models/Requests/AccountingSuppliersDeleteResponse.md new file mode 100644 index 00000000..b5bd53ea --- /dev/null +++ b/docs/Models/Requests/AccountingSuppliersDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingSuppliersDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteSupplierResponse` | [DeleteSupplierResponse](../../Models/Components/DeleteSupplierResponse.md) | :heavy_minus_sign: | Supplier deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSuppliersOneRequest.md b/docs/Models/Requests/AccountingSuppliersOneRequest.md new file mode 100644 index 00000000..556029d9 --- /dev/null +++ b/docs/Models/Requests/AccountingSuppliersOneRequest.md @@ -0,0 +1,13 @@ +# AccountingSuppliersOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSuppliersOneResponse.md b/docs/Models/Requests/AccountingSuppliersOneResponse.md new file mode 100644 index 00000000..ec587796 --- /dev/null +++ b/docs/Models/Requests/AccountingSuppliersOneResponse.md @@ -0,0 +1,10 @@ +# AccountingSuppliersOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetSupplierResponse` | [GetSupplierResponse](../../Models/Components/GetSupplierResponse.md) | :heavy_minus_sign: | Supplier | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSuppliersUpdateRequest.md b/docs/Models/Requests/AccountingSuppliersUpdateRequest.md new file mode 100644 index 00000000..68dc4cfe --- /dev/null +++ b/docs/Models/Requests/AccountingSuppliersUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingSuppliersUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Supplier` | [SupplierInput](../../Models/Components/SupplierInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingSuppliersUpdateResponse.md b/docs/Models/Requests/AccountingSuppliersUpdateResponse.md new file mode 100644 index 00000000..f45d7ce2 --- /dev/null +++ b/docs/Models/Requests/AccountingSuppliersUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingSuppliersUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateSupplierResponse` | [UpdateSupplierResponse](../../Models/Components/UpdateSupplierResponse.md) | :heavy_minus_sign: | Supplier updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTaxRatesAddRequest.md b/docs/Models/Requests/AccountingTaxRatesAddRequest.md new file mode 100644 index 00000000..5afcdb08 --- /dev/null +++ b/docs/Models/Requests/AccountingTaxRatesAddRequest.md @@ -0,0 +1,12 @@ +# AccountingTaxRatesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `TaxRate` | [TaxRateInput](../../Models/Components/TaxRateInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTaxRatesAddResponse.md b/docs/Models/Requests/AccountingTaxRatesAddResponse.md new file mode 100644 index 00000000..c805cf11 --- /dev/null +++ b/docs/Models/Requests/AccountingTaxRatesAddResponse.md @@ -0,0 +1,10 @@ +# AccountingTaxRatesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateTaxRateResponse` | [CreateTaxRateResponse](../../Models/Components/CreateTaxRateResponse.md) | :heavy_minus_sign: | TaxRate created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTaxRatesAllRequest.md b/docs/Models/Requests/AccountingTaxRatesAllRequest.md new file mode 100644 index 00000000..349cf9ae --- /dev/null +++ b/docs/Models/Requests/AccountingTaxRatesAllRequest.md @@ -0,0 +1,16 @@ +# AccountingTaxRatesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [TaxRatesFilter](../../Models/Components/TaxRatesFilter.md) | :heavy_minus_sign: | Apply filters | {
"assets": true,
"equity": true,
"expenses": true,
"liabilities": true,
"revenue": true
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTaxRatesAllResponse.md b/docs/Models/Requests/AccountingTaxRatesAllResponse.md new file mode 100644 index 00000000..70ec42e3 --- /dev/null +++ b/docs/Models/Requests/AccountingTaxRatesAllResponse.md @@ -0,0 +1,10 @@ +# AccountingTaxRatesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetTaxRatesResponse` | [GetTaxRatesResponse](../../Models/Components/GetTaxRatesResponse.md) | :heavy_minus_sign: | TaxRates | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTaxRatesDeleteRequest.md b/docs/Models/Requests/AccountingTaxRatesDeleteRequest.md new file mode 100644 index 00000000..286da20f --- /dev/null +++ b/docs/Models/Requests/AccountingTaxRatesDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingTaxRatesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTaxRatesDeleteResponse.md b/docs/Models/Requests/AccountingTaxRatesDeleteResponse.md new file mode 100644 index 00000000..e29095a9 --- /dev/null +++ b/docs/Models/Requests/AccountingTaxRatesDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingTaxRatesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteTaxRateResponse` | [DeleteTaxRateResponse](../../Models/Components/DeleteTaxRateResponse.md) | :heavy_minus_sign: | TaxRates deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTaxRatesOneRequest.md b/docs/Models/Requests/AccountingTaxRatesOneRequest.md new file mode 100644 index 00000000..5d458aa6 --- /dev/null +++ b/docs/Models/Requests/AccountingTaxRatesOneRequest.md @@ -0,0 +1,13 @@ +# AccountingTaxRatesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTaxRatesOneResponse.md b/docs/Models/Requests/AccountingTaxRatesOneResponse.md new file mode 100644 index 00000000..c672c69b --- /dev/null +++ b/docs/Models/Requests/AccountingTaxRatesOneResponse.md @@ -0,0 +1,10 @@ +# AccountingTaxRatesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetTaxRateResponse` | [GetTaxRateResponse](../../Models/Components/GetTaxRateResponse.md) | :heavy_minus_sign: | TaxRate | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTaxRatesUpdateRequest.md b/docs/Models/Requests/AccountingTaxRatesUpdateRequest.md new file mode 100644 index 00000000..33821536 --- /dev/null +++ b/docs/Models/Requests/AccountingTaxRatesUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingTaxRatesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `TaxRate` | [TaxRateInput](../../Models/Components/TaxRateInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTaxRatesUpdateResponse.md b/docs/Models/Requests/AccountingTaxRatesUpdateResponse.md new file mode 100644 index 00000000..e32063f8 --- /dev/null +++ b/docs/Models/Requests/AccountingTaxRatesUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingTaxRatesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateTaxRateResponse` | [UpdateTaxRateResponse](../../Models/Components/UpdateTaxRateResponse.md) | :heavy_minus_sign: | TaxRate updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTrackingCategoriesAddRequest.md b/docs/Models/Requests/AccountingTrackingCategoriesAddRequest.md new file mode 100644 index 00000000..65c75955 --- /dev/null +++ b/docs/Models/Requests/AccountingTrackingCategoriesAddRequest.md @@ -0,0 +1,12 @@ +# AccountingTrackingCategoriesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `TrackingCategory` | [TrackingCategoryInput](../../Models/Components/TrackingCategoryInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTrackingCategoriesAddResponse.md b/docs/Models/Requests/AccountingTrackingCategoriesAddResponse.md new file mode 100644 index 00000000..c27b84f7 --- /dev/null +++ b/docs/Models/Requests/AccountingTrackingCategoriesAddResponse.md @@ -0,0 +1,10 @@ +# AccountingTrackingCategoriesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateTrackingCategoryResponse` | [CreateTrackingCategoryResponse](../../Models/Components/CreateTrackingCategoryResponse.md) | :heavy_minus_sign: | Tracking category created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTrackingCategoriesAllRequest.md b/docs/Models/Requests/AccountingTrackingCategoriesAllRequest.md new file mode 100644 index 00000000..6fac9cd8 --- /dev/null +++ b/docs/Models/Requests/AccountingTrackingCategoriesAllRequest.md @@ -0,0 +1,15 @@ +# AccountingTrackingCategoriesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTrackingCategoriesAllResponse.md b/docs/Models/Requests/AccountingTrackingCategoriesAllResponse.md new file mode 100644 index 00000000..cce1e909 --- /dev/null +++ b/docs/Models/Requests/AccountingTrackingCategoriesAllResponse.md @@ -0,0 +1,10 @@ +# AccountingTrackingCategoriesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetTrackingCategoriesResponse` | [GetTrackingCategoriesResponse](../../Models/Components/GetTrackingCategoriesResponse.md) | :heavy_minus_sign: | Tracking categories | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTrackingCategoriesDeleteRequest.md b/docs/Models/Requests/AccountingTrackingCategoriesDeleteRequest.md new file mode 100644 index 00000000..de0c45ba --- /dev/null +++ b/docs/Models/Requests/AccountingTrackingCategoriesDeleteRequest.md @@ -0,0 +1,12 @@ +# AccountingTrackingCategoriesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTrackingCategoriesDeleteResponse.md b/docs/Models/Requests/AccountingTrackingCategoriesDeleteResponse.md new file mode 100644 index 00000000..9ff21f84 --- /dev/null +++ b/docs/Models/Requests/AccountingTrackingCategoriesDeleteResponse.md @@ -0,0 +1,10 @@ +# AccountingTrackingCategoriesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteTrackingCategoryResponse` | [DeleteTrackingCategoryResponse](../../Models/Components/DeleteTrackingCategoryResponse.md) | :heavy_minus_sign: | Tracking category deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTrackingCategoriesOneRequest.md b/docs/Models/Requests/AccountingTrackingCategoriesOneRequest.md new file mode 100644 index 00000000..014fa48d --- /dev/null +++ b/docs/Models/Requests/AccountingTrackingCategoriesOneRequest.md @@ -0,0 +1,13 @@ +# AccountingTrackingCategoriesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTrackingCategoriesOneResponse.md b/docs/Models/Requests/AccountingTrackingCategoriesOneResponse.md new file mode 100644 index 00000000..d33c5e1f --- /dev/null +++ b/docs/Models/Requests/AccountingTrackingCategoriesOneResponse.md @@ -0,0 +1,10 @@ +# AccountingTrackingCategoriesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetTrackingCategoryResponse` | [GetTrackingCategoryResponse](../../Models/Components/GetTrackingCategoryResponse.md) | :heavy_minus_sign: | Tracking category | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTrackingCategoriesUpdateRequest.md b/docs/Models/Requests/AccountingTrackingCategoriesUpdateRequest.md new file mode 100644 index 00000000..708a961b --- /dev/null +++ b/docs/Models/Requests/AccountingTrackingCategoriesUpdateRequest.md @@ -0,0 +1,13 @@ +# AccountingTrackingCategoriesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `TrackingCategory` | [TrackingCategoryInput](../../Models/Components/TrackingCategoryInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AccountingTrackingCategoriesUpdateResponse.md b/docs/Models/Requests/AccountingTrackingCategoriesUpdateResponse.md new file mode 100644 index 00000000..ab4df076 --- /dev/null +++ b/docs/Models/Requests/AccountingTrackingCategoriesUpdateResponse.md @@ -0,0 +1,10 @@ +# AccountingTrackingCategoriesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateTrackingCategoryResponse` | [UpdateTrackingCategoryResponse](../../Models/Components/UpdateTrackingCategoryResponse.md) | :heavy_minus_sign: | Tracking category updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicantsAddRequest.md b/docs/Models/Requests/AtsApplicantsAddRequest.md new file mode 100644 index 00000000..a5aff41c --- /dev/null +++ b/docs/Models/Requests/AtsApplicantsAddRequest.md @@ -0,0 +1,12 @@ +# AtsApplicantsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Applicant` | [ApplicantInput](../../Models/Components/ApplicantInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicantsAddResponse.md b/docs/Models/Requests/AtsApplicantsAddResponse.md new file mode 100644 index 00000000..66dcd35b --- /dev/null +++ b/docs/Models/Requests/AtsApplicantsAddResponse.md @@ -0,0 +1,10 @@ +# AtsApplicantsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateApplicantResponse` | [CreateApplicantResponse](../../Models/Components/CreateApplicantResponse.md) | :heavy_minus_sign: | Applicants | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicantsAllRequest.md b/docs/Models/Requests/AtsApplicantsAllRequest.md new file mode 100644 index 00000000..be327fe7 --- /dev/null +++ b/docs/Models/Requests/AtsApplicantsAllRequest.md @@ -0,0 +1,16 @@ +# AtsApplicantsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [ApplicantsFilter](../../Models/Components/ApplicantsFilter.md) | :heavy_minus_sign: | Apply filters | {
"job_id": "1234"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicantsAllResponse.md b/docs/Models/Requests/AtsApplicantsAllResponse.md new file mode 100644 index 00000000..05714d6b --- /dev/null +++ b/docs/Models/Requests/AtsApplicantsAllResponse.md @@ -0,0 +1,10 @@ +# AtsApplicantsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetApplicantsResponse` | [GetApplicantsResponse](../../Models/Components/GetApplicantsResponse.md) | :heavy_minus_sign: | Applicants | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicantsDeleteRequest.md b/docs/Models/Requests/AtsApplicantsDeleteRequest.md new file mode 100644 index 00000000..a122584b --- /dev/null +++ b/docs/Models/Requests/AtsApplicantsDeleteRequest.md @@ -0,0 +1,12 @@ +# AtsApplicantsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicantsDeleteResponse.md b/docs/Models/Requests/AtsApplicantsDeleteResponse.md new file mode 100644 index 00000000..6bacabe3 --- /dev/null +++ b/docs/Models/Requests/AtsApplicantsDeleteResponse.md @@ -0,0 +1,10 @@ +# AtsApplicantsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteApplicantResponse` | [DeleteApplicantResponse](../../Models/Components/DeleteApplicantResponse.md) | :heavy_minus_sign: | Applicants | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicantsOneRequest.md b/docs/Models/Requests/AtsApplicantsOneRequest.md new file mode 100644 index 00000000..1ce5b9a0 --- /dev/null +++ b/docs/Models/Requests/AtsApplicantsOneRequest.md @@ -0,0 +1,13 @@ +# AtsApplicantsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicantsOneResponse.md b/docs/Models/Requests/AtsApplicantsOneResponse.md new file mode 100644 index 00000000..4d0a4151 --- /dev/null +++ b/docs/Models/Requests/AtsApplicantsOneResponse.md @@ -0,0 +1,10 @@ +# AtsApplicantsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetApplicantResponse` | [GetApplicantResponse](../../Models/Components/GetApplicantResponse.md) | :heavy_minus_sign: | Applicants | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicantsUpdateRequest.md b/docs/Models/Requests/AtsApplicantsUpdateRequest.md new file mode 100644 index 00000000..7675a429 --- /dev/null +++ b/docs/Models/Requests/AtsApplicantsUpdateRequest.md @@ -0,0 +1,13 @@ +# AtsApplicantsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Applicant` | [ApplicantInput](../../Models/Components/ApplicantInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicantsUpdateResponse.md b/docs/Models/Requests/AtsApplicantsUpdateResponse.md new file mode 100644 index 00000000..55720fc4 --- /dev/null +++ b/docs/Models/Requests/AtsApplicantsUpdateResponse.md @@ -0,0 +1,10 @@ +# AtsApplicantsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateApplicantResponse` | [UpdateApplicantResponse](../../Models/Components/UpdateApplicantResponse.md) | :heavy_minus_sign: | Applicants | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicationsAddRequest.md b/docs/Models/Requests/AtsApplicationsAddRequest.md new file mode 100644 index 00000000..a8d9df99 --- /dev/null +++ b/docs/Models/Requests/AtsApplicationsAddRequest.md @@ -0,0 +1,12 @@ +# AtsApplicationsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Application` | [ApplicationInput](../../Models/Components/ApplicationInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicationsAddResponse.md b/docs/Models/Requests/AtsApplicationsAddResponse.md new file mode 100644 index 00000000..8e7d1de6 --- /dev/null +++ b/docs/Models/Requests/AtsApplicationsAddResponse.md @@ -0,0 +1,10 @@ +# AtsApplicationsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateApplicationResponse` | [CreateApplicationResponse](../../Models/Components/CreateApplicationResponse.md) | :heavy_minus_sign: | Applications | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicationsAllRequest.md b/docs/Models/Requests/AtsApplicationsAllRequest.md new file mode 100644 index 00000000..5b282d19 --- /dev/null +++ b/docs/Models/Requests/AtsApplicationsAllRequest.md @@ -0,0 +1,14 @@ +# AtsApplicationsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicationsAllResponse.md b/docs/Models/Requests/AtsApplicationsAllResponse.md new file mode 100644 index 00000000..8efabaf3 --- /dev/null +++ b/docs/Models/Requests/AtsApplicationsAllResponse.md @@ -0,0 +1,10 @@ +# AtsApplicationsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetApplicationsResponse` | [GetApplicationsResponse](../../Models/Components/GetApplicationsResponse.md) | :heavy_minus_sign: | Applications | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicationsDeleteRequest.md b/docs/Models/Requests/AtsApplicationsDeleteRequest.md new file mode 100644 index 00000000..33215e47 --- /dev/null +++ b/docs/Models/Requests/AtsApplicationsDeleteRequest.md @@ -0,0 +1,12 @@ +# AtsApplicationsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicationsDeleteResponse.md b/docs/Models/Requests/AtsApplicationsDeleteResponse.md new file mode 100644 index 00000000..1e1661b8 --- /dev/null +++ b/docs/Models/Requests/AtsApplicationsDeleteResponse.md @@ -0,0 +1,10 @@ +# AtsApplicationsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteApplicationResponse` | [DeleteApplicationResponse](../../Models/Components/DeleteApplicationResponse.md) | :heavy_minus_sign: | Applications | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicationsOneRequest.md b/docs/Models/Requests/AtsApplicationsOneRequest.md new file mode 100644 index 00000000..1f545a0b --- /dev/null +++ b/docs/Models/Requests/AtsApplicationsOneRequest.md @@ -0,0 +1,12 @@ +# AtsApplicationsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicationsOneResponse.md b/docs/Models/Requests/AtsApplicationsOneResponse.md new file mode 100644 index 00000000..45e45667 --- /dev/null +++ b/docs/Models/Requests/AtsApplicationsOneResponse.md @@ -0,0 +1,10 @@ +# AtsApplicationsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetApplicationResponse` | [GetApplicationResponse](../../Models/Components/GetApplicationResponse.md) | :heavy_minus_sign: | Applications | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicationsUpdateRequest.md b/docs/Models/Requests/AtsApplicationsUpdateRequest.md new file mode 100644 index 00000000..dceaade4 --- /dev/null +++ b/docs/Models/Requests/AtsApplicationsUpdateRequest.md @@ -0,0 +1,13 @@ +# AtsApplicationsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Application` | [ApplicationInput](../../Models/Components/ApplicationInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/AtsApplicationsUpdateResponse.md b/docs/Models/Requests/AtsApplicationsUpdateResponse.md new file mode 100644 index 00000000..4b3174b0 --- /dev/null +++ b/docs/Models/Requests/AtsApplicationsUpdateResponse.md @@ -0,0 +1,10 @@ +# AtsApplicationsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateApplicationResponse` | [UpdateApplicationResponse](../../Models/Components/UpdateApplicationResponse.md) | :heavy_minus_sign: | Applications | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AtsJobsAllRequest.md b/docs/Models/Requests/AtsJobsAllRequest.md new file mode 100644 index 00000000..24ea8774 --- /dev/null +++ b/docs/Models/Requests/AtsJobsAllRequest.md @@ -0,0 +1,15 @@ +# AtsJobsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AtsJobsAllResponse.md b/docs/Models/Requests/AtsJobsAllResponse.md new file mode 100644 index 00000000..1ed46b1d --- /dev/null +++ b/docs/Models/Requests/AtsJobsAllResponse.md @@ -0,0 +1,10 @@ +# AtsJobsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetJobsResponse` | [GetJobsResponse](../../Models/Components/GetJobsResponse.md) | :heavy_minus_sign: | Jobs | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/AtsJobsOneRequest.md b/docs/Models/Requests/AtsJobsOneRequest.md new file mode 100644 index 00000000..6a4fd4f6 --- /dev/null +++ b/docs/Models/Requests/AtsJobsOneRequest.md @@ -0,0 +1,13 @@ +# AtsJobsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/AtsJobsOneResponse.md b/docs/Models/Requests/AtsJobsOneResponse.md new file mode 100644 index 00000000..4539478c --- /dev/null +++ b/docs/Models/Requests/AtsJobsOneResponse.md @@ -0,0 +1,10 @@ +# AtsJobsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetJobResponse` | [GetJobResponse](../../Models/Components/GetJobResponse.md) | :heavy_minus_sign: | Jobs | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorApiResourceCoverageOneRequest.md b/docs/Models/Requests/ConnectorApiResourceCoverageOneRequest.md new file mode 100644 index 00000000..068abb4e --- /dev/null +++ b/docs/Models/Requests/ConnectorApiResourceCoverageOneRequest.md @@ -0,0 +1,10 @@ +# ConnectorApiResourceCoverageOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ResourceId` | *string* | :heavy_check_mark: | ID of the resource you are acting upon. | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorApiResourceCoverageOneResponse.md b/docs/Models/Requests/ConnectorApiResourceCoverageOneResponse.md new file mode 100644 index 00000000..3f921112 --- /dev/null +++ b/docs/Models/Requests/ConnectorApiResourceCoverageOneResponse.md @@ -0,0 +1,10 @@ +# ConnectorApiResourceCoverageOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetApiResourceCoverageResponse` | [GetApiResourceCoverageResponse](../../Models/Components/GetApiResourceCoverageResponse.md) | :heavy_minus_sign: | ApiResources | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorApiResourcesOneRequest.md b/docs/Models/Requests/ConnectorApiResourcesOneRequest.md new file mode 100644 index 00000000..ee394a7e --- /dev/null +++ b/docs/Models/Requests/ConnectorApiResourcesOneRequest.md @@ -0,0 +1,10 @@ +# ConnectorApiResourcesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ResourceId` | *string* | :heavy_check_mark: | ID of the resource you are acting upon. | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorApiResourcesOneResponse.md b/docs/Models/Requests/ConnectorApiResourcesOneResponse.md new file mode 100644 index 00000000..c0b80335 --- /dev/null +++ b/docs/Models/Requests/ConnectorApiResourcesOneResponse.md @@ -0,0 +1,10 @@ +# ConnectorApiResourcesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetApiResourceResponse` | [GetApiResourceResponse](../../Models/Components/GetApiResourceResponse.md) | :heavy_minus_sign: | ApiResources | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorApisAllRequest.md b/docs/Models/Requests/ConnectorApisAllRequest.md new file mode 100644 index 00000000..a6c0cf04 --- /dev/null +++ b/docs/Models/Requests/ConnectorApisAllRequest.md @@ -0,0 +1,11 @@ +# ConnectorApisAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [ApisFilter](../../Models/Components/ApisFilter.md) | :heavy_minus_sign: | Apply filters | {
"status": "beta"
} | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorApisAllResponse.md b/docs/Models/Requests/ConnectorApisAllResponse.md new file mode 100644 index 00000000..8050f3f3 --- /dev/null +++ b/docs/Models/Requests/ConnectorApisAllResponse.md @@ -0,0 +1,10 @@ +# ConnectorApisAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetApisResponse` | [GetApisResponse](../../Models/Components/GetApisResponse.md) | :heavy_minus_sign: | Apis | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorApisOneRequest.md b/docs/Models/Requests/ConnectorApisOneRequest.md new file mode 100644 index 00000000..061249d2 --- /dev/null +++ b/docs/Models/Requests/ConnectorApisOneRequest.md @@ -0,0 +1,9 @@ +# ConnectorApisOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorApisOneResponse.md b/docs/Models/Requests/ConnectorApisOneResponse.md new file mode 100644 index 00000000..47ddbb43 --- /dev/null +++ b/docs/Models/Requests/ConnectorApisOneResponse.md @@ -0,0 +1,10 @@ +# ConnectorApisOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetApiResponse` | [GetApiResponse](../../Models/Components/GetApiResponse.md) | :heavy_minus_sign: | Apis | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorConnectorDocsOneRequest.md b/docs/Models/Requests/ConnectorConnectorDocsOneRequest.md new file mode 100644 index 00000000..ccb64956 --- /dev/null +++ b/docs/Models/Requests/ConnectorConnectorDocsOneRequest.md @@ -0,0 +1,10 @@ +# ConnectorConnectorDocsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `DocId` | *string* | :heavy_check_mark: | ID of the Doc | application_owner+oauth_credentials | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorConnectorDocsOneResponse.md b/docs/Models/Requests/ConnectorConnectorDocsOneResponse.md new file mode 100644 index 00000000..9af7df80 --- /dev/null +++ b/docs/Models/Requests/ConnectorConnectorDocsOneResponse.md @@ -0,0 +1,10 @@ +# ConnectorConnectorDocsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetConnectorDocResponse` | *string* | :heavy_minus_sign: | Connectors | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorConnectorResourcesOneRequest.md b/docs/Models/Requests/ConnectorConnectorResourcesOneRequest.md new file mode 100644 index 00000000..66645b5c --- /dev/null +++ b/docs/Models/Requests/ConnectorConnectorResourcesOneRequest.md @@ -0,0 +1,11 @@ +# ConnectorConnectorResourcesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ResourceId` | *string* | :heavy_check_mark: | ID of the resource you are acting upon. | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `UnifiedApi` | [UnifiedApiId](../../Models/Components/UnifiedApiId.md) | :heavy_minus_sign: | Specify unified API for the connector resource. This is useful when a resource appears in multiple APIs | crm | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorConnectorResourcesOneResponse.md b/docs/Models/Requests/ConnectorConnectorResourcesOneResponse.md new file mode 100644 index 00000000..456ca82f --- /dev/null +++ b/docs/Models/Requests/ConnectorConnectorResourcesOneResponse.md @@ -0,0 +1,10 @@ +# ConnectorConnectorResourcesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetConnectorResourceResponse` | [GetConnectorResourceResponse](../../Models/Components/GetConnectorResourceResponse.md) | :heavy_minus_sign: | ConnectorResources | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorConnectorsAllRequest.md b/docs/Models/Requests/ConnectorConnectorsAllRequest.md new file mode 100644 index 00000000..75dfe80b --- /dev/null +++ b/docs/Models/Requests/ConnectorConnectorsAllRequest.md @@ -0,0 +1,11 @@ +# ConnectorConnectorsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [ConnectorsFilter](../../Models/Components/ConnectorsFilter.md) | :heavy_minus_sign: | Apply filters | {
"unified_api": "file-storage"
} | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorConnectorsAllResponse.md b/docs/Models/Requests/ConnectorConnectorsAllResponse.md new file mode 100644 index 00000000..8f3b31d1 --- /dev/null +++ b/docs/Models/Requests/ConnectorConnectorsAllResponse.md @@ -0,0 +1,10 @@ +# ConnectorConnectorsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetConnectorsResponse` | [GetConnectorsResponse](../../Models/Components/GetConnectorsResponse.md) | :heavy_minus_sign: | Connectors | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorConnectorsOneRequest.md b/docs/Models/Requests/ConnectorConnectorsOneRequest.md new file mode 100644 index 00000000..532f6d84 --- /dev/null +++ b/docs/Models/Requests/ConnectorConnectorsOneRequest.md @@ -0,0 +1,9 @@ +# ConnectorConnectorsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/ConnectorConnectorsOneResponse.md b/docs/Models/Requests/ConnectorConnectorsOneResponse.md new file mode 100644 index 00000000..8bc3db00 --- /dev/null +++ b/docs/Models/Requests/ConnectorConnectorsOneResponse.md @@ -0,0 +1,10 @@ +# ConnectorConnectorsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetConnectorResponse` | [GetConnectorResponse](../../Models/Components/GetConnectorResponse.md) | :heavy_minus_sign: | Connectors | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmActivitiesAddRequest.md b/docs/Models/Requests/CrmActivitiesAddRequest.md new file mode 100644 index 00000000..493a3ccd --- /dev/null +++ b/docs/Models/Requests/CrmActivitiesAddRequest.md @@ -0,0 +1,12 @@ +# CrmActivitiesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Activity` | [ActivityInput](../../Models/Components/ActivityInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/CrmActivitiesAddResponse.md b/docs/Models/Requests/CrmActivitiesAddResponse.md new file mode 100644 index 00000000..e52d852f --- /dev/null +++ b/docs/Models/Requests/CrmActivitiesAddResponse.md @@ -0,0 +1,10 @@ +# CrmActivitiesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateActivityResponse` | [CreateActivityResponse](../../Models/Components/CreateActivityResponse.md) | :heavy_minus_sign: | Activity created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmActivitiesAllRequest.md b/docs/Models/Requests/CrmActivitiesAllRequest.md new file mode 100644 index 00000000..755bd82f --- /dev/null +++ b/docs/Models/Requests/CrmActivitiesAllRequest.md @@ -0,0 +1,17 @@ +# CrmActivitiesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [ActivitiesFilter](../../Models/Components/ActivitiesFilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z"
} | +| `Sort` | [ActivitiesSort](../../Models/Components/ActivitiesSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "created_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/CrmActivitiesAllResponse.md b/docs/Models/Requests/CrmActivitiesAllResponse.md new file mode 100644 index 00000000..ec06937e --- /dev/null +++ b/docs/Models/Requests/CrmActivitiesAllResponse.md @@ -0,0 +1,10 @@ +# CrmActivitiesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetActivitiesResponse` | [GetActivitiesResponse](../../Models/Components/GetActivitiesResponse.md) | :heavy_minus_sign: | Activities | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmActivitiesDeleteRequest.md b/docs/Models/Requests/CrmActivitiesDeleteRequest.md new file mode 100644 index 00000000..b550130d --- /dev/null +++ b/docs/Models/Requests/CrmActivitiesDeleteRequest.md @@ -0,0 +1,12 @@ +# CrmActivitiesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/CrmActivitiesDeleteResponse.md b/docs/Models/Requests/CrmActivitiesDeleteResponse.md new file mode 100644 index 00000000..64bff0ca --- /dev/null +++ b/docs/Models/Requests/CrmActivitiesDeleteResponse.md @@ -0,0 +1,10 @@ +# CrmActivitiesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteActivityResponse` | [DeleteActivityResponse](../../Models/Components/DeleteActivityResponse.md) | :heavy_minus_sign: | Activity deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmActivitiesOneRequest.md b/docs/Models/Requests/CrmActivitiesOneRequest.md new file mode 100644 index 00000000..56f0238c --- /dev/null +++ b/docs/Models/Requests/CrmActivitiesOneRequest.md @@ -0,0 +1,13 @@ +# CrmActivitiesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/CrmActivitiesOneResponse.md b/docs/Models/Requests/CrmActivitiesOneResponse.md new file mode 100644 index 00000000..7814ee02 --- /dev/null +++ b/docs/Models/Requests/CrmActivitiesOneResponse.md @@ -0,0 +1,10 @@ +# CrmActivitiesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetActivityResponse` | [GetActivityResponse](../../Models/Components/GetActivityResponse.md) | :heavy_minus_sign: | Activity | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmActivitiesUpdateRequest.md b/docs/Models/Requests/CrmActivitiesUpdateRequest.md new file mode 100644 index 00000000..3429b7dc --- /dev/null +++ b/docs/Models/Requests/CrmActivitiesUpdateRequest.md @@ -0,0 +1,13 @@ +# CrmActivitiesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Activity` | [ActivityInput](../../Models/Components/ActivityInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/CrmActivitiesUpdateResponse.md b/docs/Models/Requests/CrmActivitiesUpdateResponse.md new file mode 100644 index 00000000..0d1df626 --- /dev/null +++ b/docs/Models/Requests/CrmActivitiesUpdateResponse.md @@ -0,0 +1,10 @@ +# CrmActivitiesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateActivityResponse` | [UpdateActivityResponse](../../Models/Components/UpdateActivityResponse.md) | :heavy_minus_sign: | Activity updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmCompaniesAddRequest.md b/docs/Models/Requests/CrmCompaniesAddRequest.md new file mode 100644 index 00000000..ca8f4222 --- /dev/null +++ b/docs/Models/Requests/CrmCompaniesAddRequest.md @@ -0,0 +1,12 @@ +# CrmCompaniesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Company` | [CompanyInput](../../Models/Components/CompanyInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/CrmCompaniesAddResponse.md b/docs/Models/Requests/CrmCompaniesAddResponse.md new file mode 100644 index 00000000..abbc95c9 --- /dev/null +++ b/docs/Models/Requests/CrmCompaniesAddResponse.md @@ -0,0 +1,10 @@ +# CrmCompaniesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateCompanyResponse` | [CreateCompanyResponse](../../Models/Components/CreateCompanyResponse.md) | :heavy_minus_sign: | Company created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmCompaniesAllRequest.md b/docs/Models/Requests/CrmCompaniesAllRequest.md new file mode 100644 index 00000000..53bf357b --- /dev/null +++ b/docs/Models/Requests/CrmCompaniesAllRequest.md @@ -0,0 +1,17 @@ +# CrmCompaniesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [CompaniesFilter](../../Models/Components/CompaniesFilter.md) | :heavy_minus_sign: | Apply filters | {
"name": "SpaceX"
} | +| `Sort` | [CompaniesSort](../../Models/Components/CompaniesSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "created_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/CrmCompaniesAllResponse.md b/docs/Models/Requests/CrmCompaniesAllResponse.md new file mode 100644 index 00000000..96eff7ee --- /dev/null +++ b/docs/Models/Requests/CrmCompaniesAllResponse.md @@ -0,0 +1,10 @@ +# CrmCompaniesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCompaniesResponse` | [GetCompaniesResponse](../../Models/Components/GetCompaniesResponse.md) | :heavy_minus_sign: | Companies | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmCompaniesDeleteRequest.md b/docs/Models/Requests/CrmCompaniesDeleteRequest.md new file mode 100644 index 00000000..a18cd006 --- /dev/null +++ b/docs/Models/Requests/CrmCompaniesDeleteRequest.md @@ -0,0 +1,12 @@ +# CrmCompaniesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/CrmCompaniesDeleteResponse.md b/docs/Models/Requests/CrmCompaniesDeleteResponse.md new file mode 100644 index 00000000..f281aa7f --- /dev/null +++ b/docs/Models/Requests/CrmCompaniesDeleteResponse.md @@ -0,0 +1,10 @@ +# CrmCompaniesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteCompanyResponse` | [DeleteCompanyResponse](../../Models/Components/DeleteCompanyResponse.md) | :heavy_minus_sign: | Company deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmCompaniesOneRequest.md b/docs/Models/Requests/CrmCompaniesOneRequest.md new file mode 100644 index 00000000..bcb34ac8 --- /dev/null +++ b/docs/Models/Requests/CrmCompaniesOneRequest.md @@ -0,0 +1,13 @@ +# CrmCompaniesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/CrmCompaniesOneResponse.md b/docs/Models/Requests/CrmCompaniesOneResponse.md new file mode 100644 index 00000000..6b6aba58 --- /dev/null +++ b/docs/Models/Requests/CrmCompaniesOneResponse.md @@ -0,0 +1,10 @@ +# CrmCompaniesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCompanyResponse` | [GetCompanyResponse](../../Models/Components/GetCompanyResponse.md) | :heavy_minus_sign: | Company | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmCompaniesUpdateRequest.md b/docs/Models/Requests/CrmCompaniesUpdateRequest.md new file mode 100644 index 00000000..f125277c --- /dev/null +++ b/docs/Models/Requests/CrmCompaniesUpdateRequest.md @@ -0,0 +1,13 @@ +# CrmCompaniesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Company` | [CompanyInput](../../Models/Components/CompanyInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/CrmCompaniesUpdateResponse.md b/docs/Models/Requests/CrmCompaniesUpdateResponse.md new file mode 100644 index 00000000..7d917b65 --- /dev/null +++ b/docs/Models/Requests/CrmCompaniesUpdateResponse.md @@ -0,0 +1,10 @@ +# CrmCompaniesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateCompanyResponse` | [UpdateCompanyResponse](../../Models/Components/UpdateCompanyResponse.md) | :heavy_minus_sign: | Company updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmContactsAddRequest.md b/docs/Models/Requests/CrmContactsAddRequest.md new file mode 100644 index 00000000..50c868fe --- /dev/null +++ b/docs/Models/Requests/CrmContactsAddRequest.md @@ -0,0 +1,12 @@ +# CrmContactsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Contact` | [ContactInput](../../Models/Components/ContactInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/CrmContactsAddResponse.md b/docs/Models/Requests/CrmContactsAddResponse.md new file mode 100644 index 00000000..2157c2f5 --- /dev/null +++ b/docs/Models/Requests/CrmContactsAddResponse.md @@ -0,0 +1,10 @@ +# CrmContactsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateContactResponse` | [CreateContactResponse](../../Models/Components/CreateContactResponse.md) | :heavy_minus_sign: | Contact created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmContactsAllRequest.md b/docs/Models/Requests/CrmContactsAllRequest.md new file mode 100644 index 00000000..600fc796 --- /dev/null +++ b/docs/Models/Requests/CrmContactsAllRequest.md @@ -0,0 +1,17 @@ +# CrmContactsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [ContactsFilter](../../Models/Components/ContactsFilter.md) | :heavy_minus_sign: | Apply filters | {
"first_name": "Elon",
"last_name": "Musk",
"email": "elon@tesla.com",
"company_id": "12345",
"owner_id": "12345"
} | +| `Sort` | [ContactsSort](../../Models/Components/ContactsSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "created_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/CrmContactsAllResponse.md b/docs/Models/Requests/CrmContactsAllResponse.md new file mode 100644 index 00000000..767e769b --- /dev/null +++ b/docs/Models/Requests/CrmContactsAllResponse.md @@ -0,0 +1,10 @@ +# CrmContactsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetContactsResponse` | [GetContactsResponse](../../Models/Components/GetContactsResponse.md) | :heavy_minus_sign: | Contacts | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmContactsDeleteRequest.md b/docs/Models/Requests/CrmContactsDeleteRequest.md new file mode 100644 index 00000000..a863e458 --- /dev/null +++ b/docs/Models/Requests/CrmContactsDeleteRequest.md @@ -0,0 +1,12 @@ +# CrmContactsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/CrmContactsDeleteResponse.md b/docs/Models/Requests/CrmContactsDeleteResponse.md new file mode 100644 index 00000000..319da2c5 --- /dev/null +++ b/docs/Models/Requests/CrmContactsDeleteResponse.md @@ -0,0 +1,10 @@ +# CrmContactsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteContactResponse` | [DeleteContactResponse](../../Models/Components/DeleteContactResponse.md) | :heavy_minus_sign: | Contact deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmContactsOneRequest.md b/docs/Models/Requests/CrmContactsOneRequest.md new file mode 100644 index 00000000..39e8f47a --- /dev/null +++ b/docs/Models/Requests/CrmContactsOneRequest.md @@ -0,0 +1,14 @@ +# CrmContactsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | +| `Filter` | [ContactsFilter](../../Models/Components/ContactsFilter.md) | :heavy_minus_sign: | Apply filters | {
"first_name": "Elon",
"last_name": "Musk",
"email": "elon@tesla.com",
"company_id": "12345",
"owner_id": "12345"
} | \ No newline at end of file diff --git a/docs/Models/Requests/CrmContactsOneResponse.md b/docs/Models/Requests/CrmContactsOneResponse.md new file mode 100644 index 00000000..5466af88 --- /dev/null +++ b/docs/Models/Requests/CrmContactsOneResponse.md @@ -0,0 +1,10 @@ +# CrmContactsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetContactResponse` | [GetContactResponse](../../Models/Components/GetContactResponse.md) | :heavy_minus_sign: | Contact | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmContactsUpdateRequest.md b/docs/Models/Requests/CrmContactsUpdateRequest.md new file mode 100644 index 00000000..777d4a8b --- /dev/null +++ b/docs/Models/Requests/CrmContactsUpdateRequest.md @@ -0,0 +1,13 @@ +# CrmContactsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Contact` | [ContactInput](../../Models/Components/ContactInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/CrmContactsUpdateResponse.md b/docs/Models/Requests/CrmContactsUpdateResponse.md new file mode 100644 index 00000000..6e0c1b44 --- /dev/null +++ b/docs/Models/Requests/CrmContactsUpdateResponse.md @@ -0,0 +1,10 @@ +# CrmContactsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateContactResponse` | [UpdateContactResponse](../../Models/Components/UpdateContactResponse.md) | :heavy_minus_sign: | Contact updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmLeadsAddRequest.md b/docs/Models/Requests/CrmLeadsAddRequest.md new file mode 100644 index 00000000..309606f3 --- /dev/null +++ b/docs/Models/Requests/CrmLeadsAddRequest.md @@ -0,0 +1,12 @@ +# CrmLeadsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Lead` | [LeadInput](../../Models/Components/LeadInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/CrmLeadsAddResponse.md b/docs/Models/Requests/CrmLeadsAddResponse.md new file mode 100644 index 00000000..5ff2087f --- /dev/null +++ b/docs/Models/Requests/CrmLeadsAddResponse.md @@ -0,0 +1,10 @@ +# CrmLeadsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateLeadResponse` | [CreateLeadResponse](../../Models/Components/CreateLeadResponse.md) | :heavy_minus_sign: | Lead created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmLeadsAllRequest.md b/docs/Models/Requests/CrmLeadsAllRequest.md new file mode 100644 index 00000000..5f8a21fe --- /dev/null +++ b/docs/Models/Requests/CrmLeadsAllRequest.md @@ -0,0 +1,17 @@ +# CrmLeadsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [LeadsFilter](../../Models/Components/LeadsFilter.md) | :heavy_minus_sign: | Apply filters | {
"first_name": "Elon",
"last_name": "Musk",
"email": "elon@tesla.com",
"phone_number": "1234567890"
} | +| `Sort` | [LeadsSort](../../Models/Components/LeadsSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "created_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/CrmLeadsAllResponse.md b/docs/Models/Requests/CrmLeadsAllResponse.md new file mode 100644 index 00000000..593c9593 --- /dev/null +++ b/docs/Models/Requests/CrmLeadsAllResponse.md @@ -0,0 +1,10 @@ +# CrmLeadsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetLeadsResponse` | [GetLeadsResponse](../../Models/Components/GetLeadsResponse.md) | :heavy_minus_sign: | Leads | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmLeadsDeleteRequest.md b/docs/Models/Requests/CrmLeadsDeleteRequest.md new file mode 100644 index 00000000..17264bff --- /dev/null +++ b/docs/Models/Requests/CrmLeadsDeleteRequest.md @@ -0,0 +1,12 @@ +# CrmLeadsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/CrmLeadsDeleteResponse.md b/docs/Models/Requests/CrmLeadsDeleteResponse.md new file mode 100644 index 00000000..db0e7415 --- /dev/null +++ b/docs/Models/Requests/CrmLeadsDeleteResponse.md @@ -0,0 +1,10 @@ +# CrmLeadsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteLeadResponse` | [DeleteLeadResponse](../../Models/Components/DeleteLeadResponse.md) | :heavy_minus_sign: | Lead deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmLeadsOneRequest.md b/docs/Models/Requests/CrmLeadsOneRequest.md new file mode 100644 index 00000000..f086a853 --- /dev/null +++ b/docs/Models/Requests/CrmLeadsOneRequest.md @@ -0,0 +1,13 @@ +# CrmLeadsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/CrmLeadsOneResponse.md b/docs/Models/Requests/CrmLeadsOneResponse.md new file mode 100644 index 00000000..fe03f76c --- /dev/null +++ b/docs/Models/Requests/CrmLeadsOneResponse.md @@ -0,0 +1,10 @@ +# CrmLeadsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetLeadResponse` | [GetLeadResponse](../../Models/Components/GetLeadResponse.md) | :heavy_minus_sign: | Lead | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmLeadsUpdateRequest.md b/docs/Models/Requests/CrmLeadsUpdateRequest.md new file mode 100644 index 00000000..f4936171 --- /dev/null +++ b/docs/Models/Requests/CrmLeadsUpdateRequest.md @@ -0,0 +1,13 @@ +# CrmLeadsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Lead` | [LeadInput](../../Models/Components/LeadInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/CrmLeadsUpdateResponse.md b/docs/Models/Requests/CrmLeadsUpdateResponse.md new file mode 100644 index 00000000..4be1b7d7 --- /dev/null +++ b/docs/Models/Requests/CrmLeadsUpdateResponse.md @@ -0,0 +1,10 @@ +# CrmLeadsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateLeadResponse` | [UpdateLeadResponse](../../Models/Components/UpdateLeadResponse.md) | :heavy_minus_sign: | Lead updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmNotesAddRequest.md b/docs/Models/Requests/CrmNotesAddRequest.md new file mode 100644 index 00000000..2870a7ce --- /dev/null +++ b/docs/Models/Requests/CrmNotesAddRequest.md @@ -0,0 +1,12 @@ +# CrmNotesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Note` | [NoteInput](../../Models/Components/NoteInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/CrmNotesAddResponse.md b/docs/Models/Requests/CrmNotesAddResponse.md new file mode 100644 index 00000000..26fc7bbf --- /dev/null +++ b/docs/Models/Requests/CrmNotesAddResponse.md @@ -0,0 +1,10 @@ +# CrmNotesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateNoteResponse` | [CreateNoteResponse](../../Models/Components/CreateNoteResponse.md) | :heavy_minus_sign: | Note created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmNotesAllRequest.md b/docs/Models/Requests/CrmNotesAllRequest.md new file mode 100644 index 00000000..225334b4 --- /dev/null +++ b/docs/Models/Requests/CrmNotesAllRequest.md @@ -0,0 +1,15 @@ +# CrmNotesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/CrmNotesAllResponse.md b/docs/Models/Requests/CrmNotesAllResponse.md new file mode 100644 index 00000000..694df974 --- /dev/null +++ b/docs/Models/Requests/CrmNotesAllResponse.md @@ -0,0 +1,10 @@ +# CrmNotesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetNotesResponse` | [GetNotesResponse](../../Models/Components/GetNotesResponse.md) | :heavy_minus_sign: | Notes | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmNotesDeleteRequest.md b/docs/Models/Requests/CrmNotesDeleteRequest.md new file mode 100644 index 00000000..fd478d8a --- /dev/null +++ b/docs/Models/Requests/CrmNotesDeleteRequest.md @@ -0,0 +1,12 @@ +# CrmNotesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/CrmNotesDeleteResponse.md b/docs/Models/Requests/CrmNotesDeleteResponse.md new file mode 100644 index 00000000..e1f19240 --- /dev/null +++ b/docs/Models/Requests/CrmNotesDeleteResponse.md @@ -0,0 +1,10 @@ +# CrmNotesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteNoteResponse` | [DeleteNoteResponse](../../Models/Components/DeleteNoteResponse.md) | :heavy_minus_sign: | Note deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmNotesOneRequest.md b/docs/Models/Requests/CrmNotesOneRequest.md new file mode 100644 index 00000000..3ddc8e7c --- /dev/null +++ b/docs/Models/Requests/CrmNotesOneRequest.md @@ -0,0 +1,13 @@ +# CrmNotesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/CrmNotesOneResponse.md b/docs/Models/Requests/CrmNotesOneResponse.md new file mode 100644 index 00000000..529a3522 --- /dev/null +++ b/docs/Models/Requests/CrmNotesOneResponse.md @@ -0,0 +1,10 @@ +# CrmNotesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetNoteResponse` | [GetNoteResponse](../../Models/Components/GetNoteResponse.md) | :heavy_minus_sign: | Note | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmNotesUpdateRequest.md b/docs/Models/Requests/CrmNotesUpdateRequest.md new file mode 100644 index 00000000..e4432a47 --- /dev/null +++ b/docs/Models/Requests/CrmNotesUpdateRequest.md @@ -0,0 +1,13 @@ +# CrmNotesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Note` | [NoteInput](../../Models/Components/NoteInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/CrmNotesUpdateResponse.md b/docs/Models/Requests/CrmNotesUpdateResponse.md new file mode 100644 index 00000000..57dbf628 --- /dev/null +++ b/docs/Models/Requests/CrmNotesUpdateResponse.md @@ -0,0 +1,10 @@ +# CrmNotesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateNoteResponse` | [UpdateNoteResponse](../../Models/Components/UpdateNoteResponse.md) | :heavy_minus_sign: | Note updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmOpportunitiesAddRequest.md b/docs/Models/Requests/CrmOpportunitiesAddRequest.md new file mode 100644 index 00000000..3441afd3 --- /dev/null +++ b/docs/Models/Requests/CrmOpportunitiesAddRequest.md @@ -0,0 +1,12 @@ +# CrmOpportunitiesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Opportunity` | [OpportunityInput](../../Models/Components/OpportunityInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/CrmOpportunitiesAddResponse.md b/docs/Models/Requests/CrmOpportunitiesAddResponse.md new file mode 100644 index 00000000..faff78f0 --- /dev/null +++ b/docs/Models/Requests/CrmOpportunitiesAddResponse.md @@ -0,0 +1,10 @@ +# CrmOpportunitiesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateOpportunityResponse` | [CreateOpportunityResponse](../../Models/Components/CreateOpportunityResponse.md) | :heavy_minus_sign: | Opportunity created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmOpportunitiesAllRequest.md b/docs/Models/Requests/CrmOpportunitiesAllRequest.md new file mode 100644 index 00000000..a5e1b3d2 --- /dev/null +++ b/docs/Models/Requests/CrmOpportunitiesAllRequest.md @@ -0,0 +1,17 @@ +# CrmOpportunitiesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [OpportunitiesFilter](../../Models/Components/OpportunitiesFilter.md) | :heavy_minus_sign: | Apply filters | {
"status": "Completed",
"monetary_amount": 75000
} | +| `Sort` | [OpportunitiesSort](../../Models/Components/OpportunitiesSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "created_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/CrmOpportunitiesAllResponse.md b/docs/Models/Requests/CrmOpportunitiesAllResponse.md new file mode 100644 index 00000000..48ab5ffa --- /dev/null +++ b/docs/Models/Requests/CrmOpportunitiesAllResponse.md @@ -0,0 +1,10 @@ +# CrmOpportunitiesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetOpportunitiesResponse` | [GetOpportunitiesResponse](../../Models/Components/GetOpportunitiesResponse.md) | :heavy_minus_sign: | Opportunities | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmOpportunitiesDeleteRequest.md b/docs/Models/Requests/CrmOpportunitiesDeleteRequest.md new file mode 100644 index 00000000..1283ed47 --- /dev/null +++ b/docs/Models/Requests/CrmOpportunitiesDeleteRequest.md @@ -0,0 +1,12 @@ +# CrmOpportunitiesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/CrmOpportunitiesDeleteResponse.md b/docs/Models/Requests/CrmOpportunitiesDeleteResponse.md new file mode 100644 index 00000000..a55c24f4 --- /dev/null +++ b/docs/Models/Requests/CrmOpportunitiesDeleteResponse.md @@ -0,0 +1,10 @@ +# CrmOpportunitiesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteOpportunityResponse` | [DeleteOpportunityResponse](../../Models/Components/DeleteOpportunityResponse.md) | :heavy_minus_sign: | Opportunity deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmOpportunitiesOneRequest.md b/docs/Models/Requests/CrmOpportunitiesOneRequest.md new file mode 100644 index 00000000..3de9bd4a --- /dev/null +++ b/docs/Models/Requests/CrmOpportunitiesOneRequest.md @@ -0,0 +1,13 @@ +# CrmOpportunitiesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/CrmOpportunitiesOneResponse.md b/docs/Models/Requests/CrmOpportunitiesOneResponse.md new file mode 100644 index 00000000..71f77934 --- /dev/null +++ b/docs/Models/Requests/CrmOpportunitiesOneResponse.md @@ -0,0 +1,10 @@ +# CrmOpportunitiesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetOpportunityResponse` | [GetOpportunityResponse](../../Models/Components/GetOpportunityResponse.md) | :heavy_minus_sign: | Opportunity | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmOpportunitiesUpdateRequest.md b/docs/Models/Requests/CrmOpportunitiesUpdateRequest.md new file mode 100644 index 00000000..1afbd98f --- /dev/null +++ b/docs/Models/Requests/CrmOpportunitiesUpdateRequest.md @@ -0,0 +1,13 @@ +# CrmOpportunitiesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Opportunity` | [OpportunityInput](../../Models/Components/OpportunityInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/CrmOpportunitiesUpdateResponse.md b/docs/Models/Requests/CrmOpportunitiesUpdateResponse.md new file mode 100644 index 00000000..50bfcbc9 --- /dev/null +++ b/docs/Models/Requests/CrmOpportunitiesUpdateResponse.md @@ -0,0 +1,10 @@ +# CrmOpportunitiesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateOpportunityResponse` | [UpdateOpportunityResponse](../../Models/Components/UpdateOpportunityResponse.md) | :heavy_minus_sign: | Opportunity updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmPipelinesAddRequest.md b/docs/Models/Requests/CrmPipelinesAddRequest.md new file mode 100644 index 00000000..651cf2b3 --- /dev/null +++ b/docs/Models/Requests/CrmPipelinesAddRequest.md @@ -0,0 +1,12 @@ +# CrmPipelinesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Pipeline` | [PipelineInput](../../Models/Components/PipelineInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/CrmPipelinesAddResponse.md b/docs/Models/Requests/CrmPipelinesAddResponse.md new file mode 100644 index 00000000..ef217b62 --- /dev/null +++ b/docs/Models/Requests/CrmPipelinesAddResponse.md @@ -0,0 +1,10 @@ +# CrmPipelinesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreatePipelineResponse` | [CreatePipelineResponse](../../Models/Components/CreatePipelineResponse.md) | :heavy_minus_sign: | Pipeline created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmPipelinesAllRequest.md b/docs/Models/Requests/CrmPipelinesAllRequest.md new file mode 100644 index 00000000..2baed031 --- /dev/null +++ b/docs/Models/Requests/CrmPipelinesAllRequest.md @@ -0,0 +1,15 @@ +# CrmPipelinesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/CrmPipelinesAllResponse.md b/docs/Models/Requests/CrmPipelinesAllResponse.md new file mode 100644 index 00000000..e68a6621 --- /dev/null +++ b/docs/Models/Requests/CrmPipelinesAllResponse.md @@ -0,0 +1,10 @@ +# CrmPipelinesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetPipelinesResponse` | [GetPipelinesResponse](../../Models/Components/GetPipelinesResponse.md) | :heavy_minus_sign: | Pipelines | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmPipelinesDeleteRequest.md b/docs/Models/Requests/CrmPipelinesDeleteRequest.md new file mode 100644 index 00000000..c2c99533 --- /dev/null +++ b/docs/Models/Requests/CrmPipelinesDeleteRequest.md @@ -0,0 +1,12 @@ +# CrmPipelinesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/CrmPipelinesDeleteResponse.md b/docs/Models/Requests/CrmPipelinesDeleteResponse.md new file mode 100644 index 00000000..6ad87cf7 --- /dev/null +++ b/docs/Models/Requests/CrmPipelinesDeleteResponse.md @@ -0,0 +1,10 @@ +# CrmPipelinesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeletePipelineResponse` | [DeletePipelineResponse](../../Models/Components/DeletePipelineResponse.md) | :heavy_minus_sign: | Pipeline deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmPipelinesOneRequest.md b/docs/Models/Requests/CrmPipelinesOneRequest.md new file mode 100644 index 00000000..b8dc11c9 --- /dev/null +++ b/docs/Models/Requests/CrmPipelinesOneRequest.md @@ -0,0 +1,13 @@ +# CrmPipelinesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/CrmPipelinesOneResponse.md b/docs/Models/Requests/CrmPipelinesOneResponse.md new file mode 100644 index 00000000..7c51b7ef --- /dev/null +++ b/docs/Models/Requests/CrmPipelinesOneResponse.md @@ -0,0 +1,10 @@ +# CrmPipelinesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetPipelineResponse` | [GetPipelineResponse](../../Models/Components/GetPipelineResponse.md) | :heavy_minus_sign: | Pipeline | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmPipelinesUpdateRequest.md b/docs/Models/Requests/CrmPipelinesUpdateRequest.md new file mode 100644 index 00000000..4524e8bf --- /dev/null +++ b/docs/Models/Requests/CrmPipelinesUpdateRequest.md @@ -0,0 +1,13 @@ +# CrmPipelinesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Pipeline` | [PipelineInput](../../Models/Components/PipelineInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/CrmPipelinesUpdateResponse.md b/docs/Models/Requests/CrmPipelinesUpdateResponse.md new file mode 100644 index 00000000..7ae3f0b5 --- /dev/null +++ b/docs/Models/Requests/CrmPipelinesUpdateResponse.md @@ -0,0 +1,10 @@ +# CrmPipelinesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdatePipelineResponse` | [UpdatePipelineResponse](../../Models/Components/UpdatePipelineResponse.md) | :heavy_minus_sign: | Pipeline updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmUsersAddRequest.md b/docs/Models/Requests/CrmUsersAddRequest.md new file mode 100644 index 00000000..69e52a0c --- /dev/null +++ b/docs/Models/Requests/CrmUsersAddRequest.md @@ -0,0 +1,12 @@ +# CrmUsersAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `User` | [UserInput](../../Models/Components/UserInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/CrmUsersAddResponse.md b/docs/Models/Requests/CrmUsersAddResponse.md new file mode 100644 index 00000000..772b92a3 --- /dev/null +++ b/docs/Models/Requests/CrmUsersAddResponse.md @@ -0,0 +1,10 @@ +# CrmUsersAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateUserResponse` | [CreateUserResponse](../../Models/Components/CreateUserResponse.md) | :heavy_minus_sign: | User created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmUsersAllRequest.md b/docs/Models/Requests/CrmUsersAllRequest.md new file mode 100644 index 00000000..81bdaa4c --- /dev/null +++ b/docs/Models/Requests/CrmUsersAllRequest.md @@ -0,0 +1,15 @@ +# CrmUsersAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/CrmUsersAllResponse.md b/docs/Models/Requests/CrmUsersAllResponse.md new file mode 100644 index 00000000..e075e8fb --- /dev/null +++ b/docs/Models/Requests/CrmUsersAllResponse.md @@ -0,0 +1,10 @@ +# CrmUsersAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetUsersResponse` | [GetUsersResponse](../../Models/Components/GetUsersResponse.md) | :heavy_minus_sign: | Users | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmUsersDeleteRequest.md b/docs/Models/Requests/CrmUsersDeleteRequest.md new file mode 100644 index 00000000..bd868495 --- /dev/null +++ b/docs/Models/Requests/CrmUsersDeleteRequest.md @@ -0,0 +1,12 @@ +# CrmUsersDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/CrmUsersDeleteResponse.md b/docs/Models/Requests/CrmUsersDeleteResponse.md new file mode 100644 index 00000000..fc8afe48 --- /dev/null +++ b/docs/Models/Requests/CrmUsersDeleteResponse.md @@ -0,0 +1,10 @@ +# CrmUsersDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteUserResponse` | [DeleteUserResponse](../../Models/Components/DeleteUserResponse.md) | :heavy_minus_sign: | User deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmUsersOneRequest.md b/docs/Models/Requests/CrmUsersOneRequest.md new file mode 100644 index 00000000..6c24c0ec --- /dev/null +++ b/docs/Models/Requests/CrmUsersOneRequest.md @@ -0,0 +1,13 @@ +# CrmUsersOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/CrmUsersOneResponse.md b/docs/Models/Requests/CrmUsersOneResponse.md new file mode 100644 index 00000000..b918b526 --- /dev/null +++ b/docs/Models/Requests/CrmUsersOneResponse.md @@ -0,0 +1,10 @@ +# CrmUsersOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetUserResponse` | [GetUserResponse](../../Models/Components/GetUserResponse.md) | :heavy_minus_sign: | User | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/CrmUsersUpdateRequest.md b/docs/Models/Requests/CrmUsersUpdateRequest.md new file mode 100644 index 00000000..5f6168eb --- /dev/null +++ b/docs/Models/Requests/CrmUsersUpdateRequest.md @@ -0,0 +1,13 @@ +# CrmUsersUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `User` | [UserInput](../../Models/Components/UserInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/CrmUsersUpdateResponse.md b/docs/Models/Requests/CrmUsersUpdateResponse.md new file mode 100644 index 00000000..796df3e4 --- /dev/null +++ b/docs/Models/Requests/CrmUsersUpdateResponse.md @@ -0,0 +1,10 @@ +# CrmUsersUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateUserResponse` | [UpdateUserResponse](../../Models/Components/UpdateUserResponse.md) | :heavy_minus_sign: | User updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/EcommerceCustomersAllRequest.md b/docs/Models/Requests/EcommerceCustomersAllRequest.md new file mode 100644 index 00000000..f3e9038d --- /dev/null +++ b/docs/Models/Requests/EcommerceCustomersAllRequest.md @@ -0,0 +1,16 @@ +# EcommerceCustomersAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [EcommerceCustomersFilter](../../Models/Components/EcommerceCustomersFilter.md) | :heavy_minus_sign: | Apply filters | {
"email": "elon@musk.com",
"phone_number": "111-111-1111"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/EcommerceCustomersAllResponse.md b/docs/Models/Requests/EcommerceCustomersAllResponse.md new file mode 100644 index 00000000..efe40aa5 --- /dev/null +++ b/docs/Models/Requests/EcommerceCustomersAllResponse.md @@ -0,0 +1,10 @@ +# EcommerceCustomersAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetEcommerceCustomersResponse` | [GetEcommerceCustomersResponse](../../Models/Components/GetEcommerceCustomersResponse.md) | :heavy_minus_sign: | Customers | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/EcommerceCustomersOneRequest.md b/docs/Models/Requests/EcommerceCustomersOneRequest.md new file mode 100644 index 00000000..4e2a5a4e --- /dev/null +++ b/docs/Models/Requests/EcommerceCustomersOneRequest.md @@ -0,0 +1,13 @@ +# EcommerceCustomersOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/EcommerceCustomersOneResponse.md b/docs/Models/Requests/EcommerceCustomersOneResponse.md new file mode 100644 index 00000000..2e0365a5 --- /dev/null +++ b/docs/Models/Requests/EcommerceCustomersOneResponse.md @@ -0,0 +1,10 @@ +# EcommerceCustomersOneResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetEcommerceCustomerResponse` | [GetEcommerceCustomerResponse](../../Models/Components/GetEcommerceCustomerResponse.md) | :heavy_minus_sign: | Customers | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/EcommerceOrdersAllRequest.md b/docs/Models/Requests/EcommerceOrdersAllRequest.md new file mode 100644 index 00000000..695e6786 --- /dev/null +++ b/docs/Models/Requests/EcommerceOrdersAllRequest.md @@ -0,0 +1,17 @@ +# EcommerceOrdersAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [EcommerceOrdersFilter](../../Models/Components/EcommerceOrdersFilter.md) | :heavy_minus_sign: | Apply filters | {
"email": "elon@musk.com",
"customer_id": "123",
"updated_since": "2020-09-30T07:43:32.000Z",
"created_since": "2020-09-30T07:43:32.000Z"
} | +| `Sort` | [OrdersSort](../../Models/Components/OrdersSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "created_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/EcommerceOrdersAllResponse.md b/docs/Models/Requests/EcommerceOrdersAllResponse.md new file mode 100644 index 00000000..05451e8c --- /dev/null +++ b/docs/Models/Requests/EcommerceOrdersAllResponse.md @@ -0,0 +1,10 @@ +# EcommerceOrdersAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetEcommerceOrdersResponse` | [GetEcommerceOrdersResponse](../../Models/Components/GetEcommerceOrdersResponse.md) | :heavy_minus_sign: | Orders | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/EcommerceOrdersOneRequest.md b/docs/Models/Requests/EcommerceOrdersOneRequest.md new file mode 100644 index 00000000..8a46263e --- /dev/null +++ b/docs/Models/Requests/EcommerceOrdersOneRequest.md @@ -0,0 +1,13 @@ +# EcommerceOrdersOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/EcommerceOrdersOneResponse.md b/docs/Models/Requests/EcommerceOrdersOneResponse.md new file mode 100644 index 00000000..c48a8c5a --- /dev/null +++ b/docs/Models/Requests/EcommerceOrdersOneResponse.md @@ -0,0 +1,10 @@ +# EcommerceOrdersOneResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetEcommerceOrderResponse` | [GetEcommerceOrderResponse](../../Models/Components/GetEcommerceOrderResponse.md) | :heavy_minus_sign: | Orders | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/EcommerceProductsAllRequest.md b/docs/Models/Requests/EcommerceProductsAllRequest.md new file mode 100644 index 00000000..77eb1b3e --- /dev/null +++ b/docs/Models/Requests/EcommerceProductsAllRequest.md @@ -0,0 +1,15 @@ +# EcommerceProductsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/EcommerceProductsAllResponse.md b/docs/Models/Requests/EcommerceProductsAllResponse.md new file mode 100644 index 00000000..cd5ec1c0 --- /dev/null +++ b/docs/Models/Requests/EcommerceProductsAllResponse.md @@ -0,0 +1,10 @@ +# EcommerceProductsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetProductsResponse` | [GetProductsResponse](../../Models/Components/GetProductsResponse.md) | :heavy_minus_sign: | Products | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/EcommerceProductsOneRequest.md b/docs/Models/Requests/EcommerceProductsOneRequest.md new file mode 100644 index 00000000..a154945f --- /dev/null +++ b/docs/Models/Requests/EcommerceProductsOneRequest.md @@ -0,0 +1,13 @@ +# EcommerceProductsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/EcommerceProductsOneResponse.md b/docs/Models/Requests/EcommerceProductsOneResponse.md new file mode 100644 index 00000000..cce5391d --- /dev/null +++ b/docs/Models/Requests/EcommerceProductsOneResponse.md @@ -0,0 +1,10 @@ +# EcommerceProductsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetProductResponse` | [GetProductResponse](../../Models/Components/GetProductResponse.md) | :heavy_minus_sign: | Products | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/EcommerceStoresOneRequest.md b/docs/Models/Requests/EcommerceStoresOneRequest.md new file mode 100644 index 00000000..c188679f --- /dev/null +++ b/docs/Models/Requests/EcommerceStoresOneRequest.md @@ -0,0 +1,12 @@ +# EcommerceStoresOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/EcommerceStoresOneResponse.md b/docs/Models/Requests/EcommerceStoresOneResponse.md new file mode 100644 index 00000000..81c7da2a --- /dev/null +++ b/docs/Models/Requests/EcommerceStoresOneResponse.md @@ -0,0 +1,10 @@ +# EcommerceStoresOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetStoreResponse` | [GetStoreResponse](../../Models/Components/GetStoreResponse.md) | :heavy_minus_sign: | Stores | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDriveGroupsAddRequest.md b/docs/Models/Requests/FileStorageDriveGroupsAddRequest.md new file mode 100644 index 00000000..d1f165b1 --- /dev/null +++ b/docs/Models/Requests/FileStorageDriveGroupsAddRequest.md @@ -0,0 +1,12 @@ +# FileStorageDriveGroupsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `DriveGroup` | [DriveGroupInput](../../Models/Components/DriveGroupInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDriveGroupsAddResponse.md b/docs/Models/Requests/FileStorageDriveGroupsAddResponse.md new file mode 100644 index 00000000..0dbef0e2 --- /dev/null +++ b/docs/Models/Requests/FileStorageDriveGroupsAddResponse.md @@ -0,0 +1,10 @@ +# FileStorageDriveGroupsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateDriveGroupResponse` | [CreateDriveGroupResponse](../../Models/Components/CreateDriveGroupResponse.md) | :heavy_minus_sign: | DriveGroups | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDriveGroupsAllRequest.md b/docs/Models/Requests/FileStorageDriveGroupsAllRequest.md new file mode 100644 index 00000000..7c5f6551 --- /dev/null +++ b/docs/Models/Requests/FileStorageDriveGroupsAllRequest.md @@ -0,0 +1,16 @@ +# FileStorageDriveGroupsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [DriveGroupsFilter](../../Models/Components/DriveGroupsFilter.md) | :heavy_minus_sign: | Apply filters | | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDriveGroupsAllResponse.md b/docs/Models/Requests/FileStorageDriveGroupsAllResponse.md new file mode 100644 index 00000000..32c90dbc --- /dev/null +++ b/docs/Models/Requests/FileStorageDriveGroupsAllResponse.md @@ -0,0 +1,10 @@ +# FileStorageDriveGroupsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetDriveGroupsResponse` | [GetDriveGroupsResponse](../../Models/Components/GetDriveGroupsResponse.md) | :heavy_minus_sign: | DriveGroups | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDriveGroupsDeleteRequest.md b/docs/Models/Requests/FileStorageDriveGroupsDeleteRequest.md new file mode 100644 index 00000000..f678e942 --- /dev/null +++ b/docs/Models/Requests/FileStorageDriveGroupsDeleteRequest.md @@ -0,0 +1,12 @@ +# FileStorageDriveGroupsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDriveGroupsDeleteResponse.md b/docs/Models/Requests/FileStorageDriveGroupsDeleteResponse.md new file mode 100644 index 00000000..51b1bbde --- /dev/null +++ b/docs/Models/Requests/FileStorageDriveGroupsDeleteResponse.md @@ -0,0 +1,10 @@ +# FileStorageDriveGroupsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteDriveGroupResponse` | [DeleteDriveGroupResponse](../../Models/Components/DeleteDriveGroupResponse.md) | :heavy_minus_sign: | DriveGroups | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDriveGroupsOneRequest.md b/docs/Models/Requests/FileStorageDriveGroupsOneRequest.md new file mode 100644 index 00000000..c344b5d1 --- /dev/null +++ b/docs/Models/Requests/FileStorageDriveGroupsOneRequest.md @@ -0,0 +1,13 @@ +# FileStorageDriveGroupsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDriveGroupsOneResponse.md b/docs/Models/Requests/FileStorageDriveGroupsOneResponse.md new file mode 100644 index 00000000..e0604952 --- /dev/null +++ b/docs/Models/Requests/FileStorageDriveGroupsOneResponse.md @@ -0,0 +1,10 @@ +# FileStorageDriveGroupsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetDriveGroupResponse` | [GetDriveGroupResponse](../../Models/Components/GetDriveGroupResponse.md) | :heavy_minus_sign: | DriveGroups | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDriveGroupsUpdateRequest.md b/docs/Models/Requests/FileStorageDriveGroupsUpdateRequest.md new file mode 100644 index 00000000..f9035b3e --- /dev/null +++ b/docs/Models/Requests/FileStorageDriveGroupsUpdateRequest.md @@ -0,0 +1,13 @@ +# FileStorageDriveGroupsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `DriveGroup` | [DriveGroupInput](../../Models/Components/DriveGroupInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDriveGroupsUpdateResponse.md b/docs/Models/Requests/FileStorageDriveGroupsUpdateResponse.md new file mode 100644 index 00000000..ef68081c --- /dev/null +++ b/docs/Models/Requests/FileStorageDriveGroupsUpdateResponse.md @@ -0,0 +1,10 @@ +# FileStorageDriveGroupsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateDriveGroupResponse` | [UpdateDriveGroupResponse](../../Models/Components/UpdateDriveGroupResponse.md) | :heavy_minus_sign: | DriveGroups | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDrivesAddRequest.md b/docs/Models/Requests/FileStorageDrivesAddRequest.md new file mode 100644 index 00000000..c198c30b --- /dev/null +++ b/docs/Models/Requests/FileStorageDrivesAddRequest.md @@ -0,0 +1,12 @@ +# FileStorageDrivesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Drive` | [DriveInput](../../Models/Components/DriveInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDrivesAddResponse.md b/docs/Models/Requests/FileStorageDrivesAddResponse.md new file mode 100644 index 00000000..bd3fe644 --- /dev/null +++ b/docs/Models/Requests/FileStorageDrivesAddResponse.md @@ -0,0 +1,10 @@ +# FileStorageDrivesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateDriveResponse` | [CreateDriveResponse](../../Models/Components/CreateDriveResponse.md) | :heavy_minus_sign: | Drives | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDrivesAllRequest.md b/docs/Models/Requests/FileStorageDrivesAllRequest.md new file mode 100644 index 00000000..fec9179c --- /dev/null +++ b/docs/Models/Requests/FileStorageDrivesAllRequest.md @@ -0,0 +1,15 @@ +# FileStorageDrivesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [DrivesFilter](../../Models/Components/DrivesFilter.md) | :heavy_minus_sign: | Apply filters | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDrivesAllResponse.md b/docs/Models/Requests/FileStorageDrivesAllResponse.md new file mode 100644 index 00000000..44e116ab --- /dev/null +++ b/docs/Models/Requests/FileStorageDrivesAllResponse.md @@ -0,0 +1,10 @@ +# FileStorageDrivesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetDrivesResponse` | [GetDrivesResponse](../../Models/Components/GetDrivesResponse.md) | :heavy_minus_sign: | Drives | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDrivesDeleteRequest.md b/docs/Models/Requests/FileStorageDrivesDeleteRequest.md new file mode 100644 index 00000000..8a65d93f --- /dev/null +++ b/docs/Models/Requests/FileStorageDrivesDeleteRequest.md @@ -0,0 +1,12 @@ +# FileStorageDrivesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDrivesDeleteResponse.md b/docs/Models/Requests/FileStorageDrivesDeleteResponse.md new file mode 100644 index 00000000..7063a223 --- /dev/null +++ b/docs/Models/Requests/FileStorageDrivesDeleteResponse.md @@ -0,0 +1,10 @@ +# FileStorageDrivesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteDriveResponse` | [DeleteDriveResponse](../../Models/Components/DeleteDriveResponse.md) | :heavy_minus_sign: | Drives | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDrivesOneRequest.md b/docs/Models/Requests/FileStorageDrivesOneRequest.md new file mode 100644 index 00000000..27bb1f2a --- /dev/null +++ b/docs/Models/Requests/FileStorageDrivesOneRequest.md @@ -0,0 +1,13 @@ +# FileStorageDrivesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDrivesOneResponse.md b/docs/Models/Requests/FileStorageDrivesOneResponse.md new file mode 100644 index 00000000..68f3864b --- /dev/null +++ b/docs/Models/Requests/FileStorageDrivesOneResponse.md @@ -0,0 +1,10 @@ +# FileStorageDrivesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetDriveResponse` | [GetDriveResponse](../../Models/Components/GetDriveResponse.md) | :heavy_minus_sign: | Drives | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDrivesUpdateRequest.md b/docs/Models/Requests/FileStorageDrivesUpdateRequest.md new file mode 100644 index 00000000..c9fd2a23 --- /dev/null +++ b/docs/Models/Requests/FileStorageDrivesUpdateRequest.md @@ -0,0 +1,13 @@ +# FileStorageDrivesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Drive` | [DriveInput](../../Models/Components/DriveInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageDrivesUpdateResponse.md b/docs/Models/Requests/FileStorageDrivesUpdateResponse.md new file mode 100644 index 00000000..d746070e --- /dev/null +++ b/docs/Models/Requests/FileStorageDrivesUpdateResponse.md @@ -0,0 +1,10 @@ +# FileStorageDrivesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateDriveResponse` | [UpdateDriveResponse](../../Models/Components/UpdateDriveResponse.md) | :heavy_minus_sign: | Drives | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFilesAllRequest.md b/docs/Models/Requests/FileStorageFilesAllRequest.md new file mode 100644 index 00000000..7408aa20 --- /dev/null +++ b/docs/Models/Requests/FileStorageFilesAllRequest.md @@ -0,0 +1,17 @@ +# FileStorageFilesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [FilesFilter](../../Models/Components/FilesFilter.md) | :heavy_minus_sign: | Apply filters | | +| `Sort` | [FilesSort](../../Models/Components/FilesSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFilesAllResponse.md b/docs/Models/Requests/FileStorageFilesAllResponse.md new file mode 100644 index 00000000..2334266e --- /dev/null +++ b/docs/Models/Requests/FileStorageFilesAllResponse.md @@ -0,0 +1,10 @@ +# FileStorageFilesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetFilesResponse` | [GetFilesResponse](../../Models/Components/GetFilesResponse.md) | :heavy_minus_sign: | Files | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFilesDeleteRequest.md b/docs/Models/Requests/FileStorageFilesDeleteRequest.md new file mode 100644 index 00000000..ec1f0303 --- /dev/null +++ b/docs/Models/Requests/FileStorageFilesDeleteRequest.md @@ -0,0 +1,12 @@ +# FileStorageFilesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFilesDeleteResponse.md b/docs/Models/Requests/FileStorageFilesDeleteResponse.md new file mode 100644 index 00000000..e8da111a --- /dev/null +++ b/docs/Models/Requests/FileStorageFilesDeleteResponse.md @@ -0,0 +1,10 @@ +# FileStorageFilesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteFileResponse` | [DeleteFileResponse](../../Models/Components/DeleteFileResponse.md) | :heavy_minus_sign: | Files | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFilesDownloadRequest.md b/docs/Models/Requests/FileStorageFilesDownloadRequest.md new file mode 100644 index 00000000..3a23427a --- /dev/null +++ b/docs/Models/Requests/FileStorageFilesDownloadRequest.md @@ -0,0 +1,12 @@ +# FileStorageFilesDownloadRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFilesDownloadResponse.md b/docs/Models/Requests/FileStorageFilesDownloadResponse.md new file mode 100644 index 00000000..90a23bd1 --- /dev/null +++ b/docs/Models/Requests/FileStorageFilesDownloadResponse.md @@ -0,0 +1,10 @@ +# FileStorageFilesDownloadResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetFileDownloadResponse` | *byte[]* | :heavy_minus_sign: | File Download | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFilesExportRequest.md b/docs/Models/Requests/FileStorageFilesExportRequest.md new file mode 100644 index 00000000..3be30a17 --- /dev/null +++ b/docs/Models/Requests/FileStorageFilesExportRequest.md @@ -0,0 +1,13 @@ +# FileStorageFilesExportRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Format` | *string* | :heavy_check_mark: | File format to export this file to. A list of available file formats for the current file is available as `export_formats` on the File resource. | pdf | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFilesExportResponse.md b/docs/Models/Requests/FileStorageFilesExportResponse.md new file mode 100644 index 00000000..2488daee --- /dev/null +++ b/docs/Models/Requests/FileStorageFilesExportResponse.md @@ -0,0 +1,10 @@ +# FileStorageFilesExportResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetFileDownloadResponse` | *byte[]* | :heavy_minus_sign: | File Download | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFilesOneRequest.md b/docs/Models/Requests/FileStorageFilesOneRequest.md new file mode 100644 index 00000000..2db1293b --- /dev/null +++ b/docs/Models/Requests/FileStorageFilesOneRequest.md @@ -0,0 +1,13 @@ +# FileStorageFilesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFilesOneResponse.md b/docs/Models/Requests/FileStorageFilesOneResponse.md new file mode 100644 index 00000000..24396b3e --- /dev/null +++ b/docs/Models/Requests/FileStorageFilesOneResponse.md @@ -0,0 +1,10 @@ +# FileStorageFilesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetFileResponse` | [GetFileResponse](../../Models/Components/GetFileResponse.md) | :heavy_minus_sign: | File | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFilesSearchRequest.md b/docs/Models/Requests/FileStorageFilesSearchRequest.md new file mode 100644 index 00000000..e1335d19 --- /dev/null +++ b/docs/Models/Requests/FileStorageFilesSearchRequest.md @@ -0,0 +1,16 @@ +# FileStorageFilesSearchRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `FilesSearch` | [FilesSearch](../../Models/Components/FilesSearch.md) | :heavy_check_mark: | N/A | {
"query": "logo jpg"
} | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [FilesFilter](../../Models/Components/FilesFilter.md) | :heavy_minus_sign: | Apply filters | | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFilesSearchResponse.md b/docs/Models/Requests/FileStorageFilesSearchResponse.md new file mode 100644 index 00000000..fb619d33 --- /dev/null +++ b/docs/Models/Requests/FileStorageFilesSearchResponse.md @@ -0,0 +1,10 @@ +# FileStorageFilesSearchResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetFilesResponse` | [GetFilesResponse](../../Models/Components/GetFilesResponse.md) | :heavy_minus_sign: | Files | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFilesUpdateRequest.md b/docs/Models/Requests/FileStorageFilesUpdateRequest.md new file mode 100644 index 00000000..47d88ca2 --- /dev/null +++ b/docs/Models/Requests/FileStorageFilesUpdateRequest.md @@ -0,0 +1,13 @@ +# FileStorageFilesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `UpdateFileRequest` | [UpdateFileRequest](../../Models/Components/UpdateFileRequest.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFilesUpdateResponse.md b/docs/Models/Requests/FileStorageFilesUpdateResponse.md new file mode 100644 index 00000000..e6797514 --- /dev/null +++ b/docs/Models/Requests/FileStorageFilesUpdateResponse.md @@ -0,0 +1,10 @@ +# FileStorageFilesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateFileResponse` | [UpdateFileResponse](../../Models/Components/UpdateFileResponse.md) | :heavy_minus_sign: | Files | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFoldersAddRequest.md b/docs/Models/Requests/FileStorageFoldersAddRequest.md new file mode 100644 index 00000000..202eafb6 --- /dev/null +++ b/docs/Models/Requests/FileStorageFoldersAddRequest.md @@ -0,0 +1,13 @@ +# FileStorageFoldersAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `CreateFolderRequest` | [CreateFolderRequest](../../Models/Components/CreateFolderRequest.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFoldersAddResponse.md b/docs/Models/Requests/FileStorageFoldersAddResponse.md new file mode 100644 index 00000000..bb5d3ba8 --- /dev/null +++ b/docs/Models/Requests/FileStorageFoldersAddResponse.md @@ -0,0 +1,10 @@ +# FileStorageFoldersAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateFolderResponse` | [CreateFolderResponse](../../Models/Components/CreateFolderResponse.md) | :heavy_minus_sign: | Folders | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFoldersCopyRequest.md b/docs/Models/Requests/FileStorageFoldersCopyRequest.md new file mode 100644 index 00000000..36911f6d --- /dev/null +++ b/docs/Models/Requests/FileStorageFoldersCopyRequest.md @@ -0,0 +1,14 @@ +# FileStorageFoldersCopyRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `CopyFolderRequest` | [CopyFolderRequest](../../Models/Components/CopyFolderRequest.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFoldersCopyResponse.md b/docs/Models/Requests/FileStorageFoldersCopyResponse.md new file mode 100644 index 00000000..8f2f23db --- /dev/null +++ b/docs/Models/Requests/FileStorageFoldersCopyResponse.md @@ -0,0 +1,10 @@ +# FileStorageFoldersCopyResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateFolderResponse` | [UpdateFolderResponse](../../Models/Components/UpdateFolderResponse.md) | :heavy_minus_sign: | Folders | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFoldersDeleteRequest.md b/docs/Models/Requests/FileStorageFoldersDeleteRequest.md new file mode 100644 index 00000000..a8e1a473 --- /dev/null +++ b/docs/Models/Requests/FileStorageFoldersDeleteRequest.md @@ -0,0 +1,12 @@ +# FileStorageFoldersDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFoldersDeleteResponse.md b/docs/Models/Requests/FileStorageFoldersDeleteResponse.md new file mode 100644 index 00000000..8f157485 --- /dev/null +++ b/docs/Models/Requests/FileStorageFoldersDeleteResponse.md @@ -0,0 +1,10 @@ +# FileStorageFoldersDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteFolderResponse` | [DeleteFolderResponse](../../Models/Components/DeleteFolderResponse.md) | :heavy_minus_sign: | Folders | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFoldersOneRequest.md b/docs/Models/Requests/FileStorageFoldersOneRequest.md new file mode 100644 index 00000000..d13c8e5b --- /dev/null +++ b/docs/Models/Requests/FileStorageFoldersOneRequest.md @@ -0,0 +1,13 @@ +# FileStorageFoldersOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFoldersOneResponse.md b/docs/Models/Requests/FileStorageFoldersOneResponse.md new file mode 100644 index 00000000..f70ae4df --- /dev/null +++ b/docs/Models/Requests/FileStorageFoldersOneResponse.md @@ -0,0 +1,10 @@ +# FileStorageFoldersOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetFolderResponse` | [GetFolderResponse](../../Models/Components/GetFolderResponse.md) | :heavy_minus_sign: | Folders | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFoldersUpdateRequest.md b/docs/Models/Requests/FileStorageFoldersUpdateRequest.md new file mode 100644 index 00000000..163ffea9 --- /dev/null +++ b/docs/Models/Requests/FileStorageFoldersUpdateRequest.md @@ -0,0 +1,13 @@ +# FileStorageFoldersUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `UpdateFolderRequest` | [UpdateFolderRequest](../../Models/Components/UpdateFolderRequest.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageFoldersUpdateResponse.md b/docs/Models/Requests/FileStorageFoldersUpdateResponse.md new file mode 100644 index 00000000..9e0fb2cf --- /dev/null +++ b/docs/Models/Requests/FileStorageFoldersUpdateResponse.md @@ -0,0 +1,10 @@ +# FileStorageFoldersUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateFolderResponse` | [UpdateFolderResponse](../../Models/Components/UpdateFolderResponse.md) | :heavy_minus_sign: | Folders | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageSharedLinksAddRequest.md b/docs/Models/Requests/FileStorageSharedLinksAddRequest.md new file mode 100644 index 00000000..351cddd2 --- /dev/null +++ b/docs/Models/Requests/FileStorageSharedLinksAddRequest.md @@ -0,0 +1,12 @@ +# FileStorageSharedLinksAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `SharedLink` | [SharedLinkInput](../../Models/Components/SharedLinkInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageSharedLinksAddResponse.md b/docs/Models/Requests/FileStorageSharedLinksAddResponse.md new file mode 100644 index 00000000..e0023e20 --- /dev/null +++ b/docs/Models/Requests/FileStorageSharedLinksAddResponse.md @@ -0,0 +1,10 @@ +# FileStorageSharedLinksAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateSharedLinkResponse` | [CreateSharedLinkResponse](../../Models/Components/CreateSharedLinkResponse.md) | :heavy_minus_sign: | Shared Links | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageSharedLinksAllRequest.md b/docs/Models/Requests/FileStorageSharedLinksAllRequest.md new file mode 100644 index 00000000..5c52879b --- /dev/null +++ b/docs/Models/Requests/FileStorageSharedLinksAllRequest.md @@ -0,0 +1,15 @@ +# FileStorageSharedLinksAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageSharedLinksAllResponse.md b/docs/Models/Requests/FileStorageSharedLinksAllResponse.md new file mode 100644 index 00000000..0bc9e796 --- /dev/null +++ b/docs/Models/Requests/FileStorageSharedLinksAllResponse.md @@ -0,0 +1,10 @@ +# FileStorageSharedLinksAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetSharedLinksResponse` | [GetSharedLinksResponse](../../Models/Components/GetSharedLinksResponse.md) | :heavy_minus_sign: | Shared Links | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageSharedLinksDeleteRequest.md b/docs/Models/Requests/FileStorageSharedLinksDeleteRequest.md new file mode 100644 index 00000000..6d2fec48 --- /dev/null +++ b/docs/Models/Requests/FileStorageSharedLinksDeleteRequest.md @@ -0,0 +1,12 @@ +# FileStorageSharedLinksDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageSharedLinksDeleteResponse.md b/docs/Models/Requests/FileStorageSharedLinksDeleteResponse.md new file mode 100644 index 00000000..6807bb6a --- /dev/null +++ b/docs/Models/Requests/FileStorageSharedLinksDeleteResponse.md @@ -0,0 +1,10 @@ +# FileStorageSharedLinksDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteSharedLinkResponse` | [DeleteSharedLinkResponse](../../Models/Components/DeleteSharedLinkResponse.md) | :heavy_minus_sign: | Shared Links | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageSharedLinksOneRequest.md b/docs/Models/Requests/FileStorageSharedLinksOneRequest.md new file mode 100644 index 00000000..f5692939 --- /dev/null +++ b/docs/Models/Requests/FileStorageSharedLinksOneRequest.md @@ -0,0 +1,13 @@ +# FileStorageSharedLinksOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageSharedLinksOneResponse.md b/docs/Models/Requests/FileStorageSharedLinksOneResponse.md new file mode 100644 index 00000000..5df58ae6 --- /dev/null +++ b/docs/Models/Requests/FileStorageSharedLinksOneResponse.md @@ -0,0 +1,10 @@ +# FileStorageSharedLinksOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetSharedLinkResponse` | [GetSharedLinkResponse](../../Models/Components/GetSharedLinkResponse.md) | :heavy_minus_sign: | Shared Link | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageSharedLinksUpdateRequest.md b/docs/Models/Requests/FileStorageSharedLinksUpdateRequest.md new file mode 100644 index 00000000..e12e55dd --- /dev/null +++ b/docs/Models/Requests/FileStorageSharedLinksUpdateRequest.md @@ -0,0 +1,13 @@ +# FileStorageSharedLinksUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `SharedLink` | [SharedLinkInput](../../Models/Components/SharedLinkInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageSharedLinksUpdateResponse.md b/docs/Models/Requests/FileStorageSharedLinksUpdateResponse.md new file mode 100644 index 00000000..f1987610 --- /dev/null +++ b/docs/Models/Requests/FileStorageSharedLinksUpdateResponse.md @@ -0,0 +1,10 @@ +# FileStorageSharedLinksUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateSharedLinkResponse` | [UpdateSharedLinkResponse](../../Models/Components/UpdateSharedLinkResponse.md) | :heavy_minus_sign: | Shared Links | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageUploadSessionsAddRequest.md b/docs/Models/Requests/FileStorageUploadSessionsAddRequest.md new file mode 100644 index 00000000..f8afd391 --- /dev/null +++ b/docs/Models/Requests/FileStorageUploadSessionsAddRequest.md @@ -0,0 +1,12 @@ +# FileStorageUploadSessionsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `CreateUploadSessionRequest` | [CreateUploadSessionRequest](../../Models/Components/CreateUploadSessionRequest.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageUploadSessionsAddResponse.md b/docs/Models/Requests/FileStorageUploadSessionsAddResponse.md new file mode 100644 index 00000000..cd7957ad --- /dev/null +++ b/docs/Models/Requests/FileStorageUploadSessionsAddResponse.md @@ -0,0 +1,10 @@ +# FileStorageUploadSessionsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateUploadSessionResponse` | [CreateUploadSessionResponse](../../Models/Components/CreateUploadSessionResponse.md) | :heavy_minus_sign: | UploadSessions | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageUploadSessionsDeleteRequest.md b/docs/Models/Requests/FileStorageUploadSessionsDeleteRequest.md new file mode 100644 index 00000000..7c9d7445 --- /dev/null +++ b/docs/Models/Requests/FileStorageUploadSessionsDeleteRequest.md @@ -0,0 +1,12 @@ +# FileStorageUploadSessionsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageUploadSessionsDeleteResponse.md b/docs/Models/Requests/FileStorageUploadSessionsDeleteResponse.md new file mode 100644 index 00000000..8a49388c --- /dev/null +++ b/docs/Models/Requests/FileStorageUploadSessionsDeleteResponse.md @@ -0,0 +1,10 @@ +# FileStorageUploadSessionsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteUploadSessionResponse` | [DeleteUploadSessionResponse](../../Models/Components/DeleteUploadSessionResponse.md) | :heavy_minus_sign: | UploadSessions | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageUploadSessionsFinishRequest.md b/docs/Models/Requests/FileStorageUploadSessionsFinishRequest.md new file mode 100644 index 00000000..38db4c23 --- /dev/null +++ b/docs/Models/Requests/FileStorageUploadSessionsFinishRequest.md @@ -0,0 +1,14 @@ +# FileStorageUploadSessionsFinishRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Digest` | *string* | :heavy_minus_sign: | The RFC3230 message digest of the uploaded part. Only required for the Box connector. More information on the Box API docs [here](https://developer.box.com/reference/put-files-upload-sessions-id/#param-digest) | sha=fpRyg5eVQletdZqEKaFlqwBXJzM= | +| `RequestBody` | [FileStorageUploadSessionsFinishRequestBody](../../Models/Requests/FileStorageUploadSessionsFinishRequestBody.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageUploadSessionsFinishRequestBody.md b/docs/Models/Requests/FileStorageUploadSessionsFinishRequestBody.md new file mode 100644 index 00000000..6b1c1224 --- /dev/null +++ b/docs/Models/Requests/FileStorageUploadSessionsFinishRequestBody.md @@ -0,0 +1,7 @@ +# FileStorageUploadSessionsFinishRequestBody + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageUploadSessionsFinishResponse.md b/docs/Models/Requests/FileStorageUploadSessionsFinishResponse.md new file mode 100644 index 00000000..6773dada --- /dev/null +++ b/docs/Models/Requests/FileStorageUploadSessionsFinishResponse.md @@ -0,0 +1,10 @@ +# FileStorageUploadSessionsFinishResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetFileResponse` | [GetFileResponse](../../Models/Components/GetFileResponse.md) | :heavy_minus_sign: | File | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageUploadSessionsOneRequest.md b/docs/Models/Requests/FileStorageUploadSessionsOneRequest.md new file mode 100644 index 00000000..2a7ec2da --- /dev/null +++ b/docs/Models/Requests/FileStorageUploadSessionsOneRequest.md @@ -0,0 +1,13 @@ +# FileStorageUploadSessionsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/FileStorageUploadSessionsOneResponse.md b/docs/Models/Requests/FileStorageUploadSessionsOneResponse.md new file mode 100644 index 00000000..6ab83a49 --- /dev/null +++ b/docs/Models/Requests/FileStorageUploadSessionsOneResponse.md @@ -0,0 +1,10 @@ +# FileStorageUploadSessionsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetUploadSessionResponse` | [GetUploadSessionResponse](../../Models/Components/GetUploadSessionResponse.md) | :heavy_minus_sign: | UploadSessions | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisCompaniesAddRequest.md b/docs/Models/Requests/HrisCompaniesAddRequest.md new file mode 100644 index 00000000..b21bdeb8 --- /dev/null +++ b/docs/Models/Requests/HrisCompaniesAddRequest.md @@ -0,0 +1,12 @@ +# HrisCompaniesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `HrisCompany` | [HrisCompanyInput](../../Models/Components/HrisCompanyInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/HrisCompaniesAddResponse.md b/docs/Models/Requests/HrisCompaniesAddResponse.md new file mode 100644 index 00000000..a45fccd6 --- /dev/null +++ b/docs/Models/Requests/HrisCompaniesAddResponse.md @@ -0,0 +1,10 @@ +# HrisCompaniesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateHrisCompanyResponse` | [CreateHrisCompanyResponse](../../Models/Components/CreateHrisCompanyResponse.md) | :heavy_minus_sign: | Companies | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisCompaniesAllRequest.md b/docs/Models/Requests/HrisCompaniesAllRequest.md new file mode 100644 index 00000000..2fae8ec8 --- /dev/null +++ b/docs/Models/Requests/HrisCompaniesAllRequest.md @@ -0,0 +1,15 @@ +# HrisCompaniesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/HrisCompaniesAllResponse.md b/docs/Models/Requests/HrisCompaniesAllResponse.md new file mode 100644 index 00000000..124f8543 --- /dev/null +++ b/docs/Models/Requests/HrisCompaniesAllResponse.md @@ -0,0 +1,10 @@ +# HrisCompaniesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetHrisCompaniesResponse` | [GetHrisCompaniesResponse](../../Models/Components/GetHrisCompaniesResponse.md) | :heavy_minus_sign: | Companies | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisCompaniesDeleteRequest.md b/docs/Models/Requests/HrisCompaniesDeleteRequest.md new file mode 100644 index 00000000..58a1b7fa --- /dev/null +++ b/docs/Models/Requests/HrisCompaniesDeleteRequest.md @@ -0,0 +1,12 @@ +# HrisCompaniesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/HrisCompaniesDeleteResponse.md b/docs/Models/Requests/HrisCompaniesDeleteResponse.md new file mode 100644 index 00000000..507b7262 --- /dev/null +++ b/docs/Models/Requests/HrisCompaniesDeleteResponse.md @@ -0,0 +1,10 @@ +# HrisCompaniesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteHrisCompanyResponse` | [DeleteHrisCompanyResponse](../../Models/Components/DeleteHrisCompanyResponse.md) | :heavy_minus_sign: | Companies | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisCompaniesOneRequest.md b/docs/Models/Requests/HrisCompaniesOneRequest.md new file mode 100644 index 00000000..7405d4e2 --- /dev/null +++ b/docs/Models/Requests/HrisCompaniesOneRequest.md @@ -0,0 +1,13 @@ +# HrisCompaniesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/HrisCompaniesOneResponse.md b/docs/Models/Requests/HrisCompaniesOneResponse.md new file mode 100644 index 00000000..eb83e807 --- /dev/null +++ b/docs/Models/Requests/HrisCompaniesOneResponse.md @@ -0,0 +1,10 @@ +# HrisCompaniesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetHrisCompanyResponse` | [GetHrisCompanyResponse](../../Models/Components/GetHrisCompanyResponse.md) | :heavy_minus_sign: | Company | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisCompaniesUpdateRequest.md b/docs/Models/Requests/HrisCompaniesUpdateRequest.md new file mode 100644 index 00000000..585bec6e --- /dev/null +++ b/docs/Models/Requests/HrisCompaniesUpdateRequest.md @@ -0,0 +1,13 @@ +# HrisCompaniesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `HrisCompany` | [HrisCompanyInput](../../Models/Components/HrisCompanyInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/HrisCompaniesUpdateResponse.md b/docs/Models/Requests/HrisCompaniesUpdateResponse.md new file mode 100644 index 00000000..0c464dc8 --- /dev/null +++ b/docs/Models/Requests/HrisCompaniesUpdateResponse.md @@ -0,0 +1,10 @@ +# HrisCompaniesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateHrisCompanyResponse` | [UpdateHrisCompanyResponse](../../Models/Components/UpdateHrisCompanyResponse.md) | :heavy_minus_sign: | Companies | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisDepartmentsAddRequest.md b/docs/Models/Requests/HrisDepartmentsAddRequest.md new file mode 100644 index 00000000..b4b75074 --- /dev/null +++ b/docs/Models/Requests/HrisDepartmentsAddRequest.md @@ -0,0 +1,12 @@ +# HrisDepartmentsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Department` | [DepartmentInput](../../Models/Components/DepartmentInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/HrisDepartmentsAddResponse.md b/docs/Models/Requests/HrisDepartmentsAddResponse.md new file mode 100644 index 00000000..698a7ab8 --- /dev/null +++ b/docs/Models/Requests/HrisDepartmentsAddResponse.md @@ -0,0 +1,10 @@ +# HrisDepartmentsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateDepartmentResponse` | [CreateDepartmentResponse](../../Models/Components/CreateDepartmentResponse.md) | :heavy_minus_sign: | Departments | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisDepartmentsAllRequest.md b/docs/Models/Requests/HrisDepartmentsAllRequest.md new file mode 100644 index 00000000..696277b5 --- /dev/null +++ b/docs/Models/Requests/HrisDepartmentsAllRequest.md @@ -0,0 +1,15 @@ +# HrisDepartmentsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/HrisDepartmentsAllResponse.md b/docs/Models/Requests/HrisDepartmentsAllResponse.md new file mode 100644 index 00000000..79ec1c15 --- /dev/null +++ b/docs/Models/Requests/HrisDepartmentsAllResponse.md @@ -0,0 +1,10 @@ +# HrisDepartmentsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetDepartmentsResponse` | [GetDepartmentsResponse](../../Models/Components/GetDepartmentsResponse.md) | :heavy_minus_sign: | Departments | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisDepartmentsDeleteRequest.md b/docs/Models/Requests/HrisDepartmentsDeleteRequest.md new file mode 100644 index 00000000..bf21444b --- /dev/null +++ b/docs/Models/Requests/HrisDepartmentsDeleteRequest.md @@ -0,0 +1,12 @@ +# HrisDepartmentsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/HrisDepartmentsDeleteResponse.md b/docs/Models/Requests/HrisDepartmentsDeleteResponse.md new file mode 100644 index 00000000..7bb4f26f --- /dev/null +++ b/docs/Models/Requests/HrisDepartmentsDeleteResponse.md @@ -0,0 +1,10 @@ +# HrisDepartmentsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteDepartmentResponse` | [DeleteDepartmentResponse](../../Models/Components/DeleteDepartmentResponse.md) | :heavy_minus_sign: | Departments | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisDepartmentsOneRequest.md b/docs/Models/Requests/HrisDepartmentsOneRequest.md new file mode 100644 index 00000000..955210f0 --- /dev/null +++ b/docs/Models/Requests/HrisDepartmentsOneRequest.md @@ -0,0 +1,13 @@ +# HrisDepartmentsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/HrisDepartmentsOneResponse.md b/docs/Models/Requests/HrisDepartmentsOneResponse.md new file mode 100644 index 00000000..25408b73 --- /dev/null +++ b/docs/Models/Requests/HrisDepartmentsOneResponse.md @@ -0,0 +1,10 @@ +# HrisDepartmentsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetDepartmentResponse` | [GetDepartmentResponse](../../Models/Components/GetDepartmentResponse.md) | :heavy_minus_sign: | Departments | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisDepartmentsUpdateRequest.md b/docs/Models/Requests/HrisDepartmentsUpdateRequest.md new file mode 100644 index 00000000..5de3d90c --- /dev/null +++ b/docs/Models/Requests/HrisDepartmentsUpdateRequest.md @@ -0,0 +1,13 @@ +# HrisDepartmentsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Department` | [DepartmentInput](../../Models/Components/DepartmentInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/HrisDepartmentsUpdateResponse.md b/docs/Models/Requests/HrisDepartmentsUpdateResponse.md new file mode 100644 index 00000000..3bdcbab2 --- /dev/null +++ b/docs/Models/Requests/HrisDepartmentsUpdateResponse.md @@ -0,0 +1,10 @@ +# HrisDepartmentsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateDepartmentResponse` | [UpdateDepartmentResponse](../../Models/Components/UpdateDepartmentResponse.md) | :heavy_minus_sign: | Departments | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeePayrollsAllRequest.md b/docs/Models/Requests/HrisEmployeePayrollsAllRequest.md new file mode 100644 index 00000000..f7a473b1 --- /dev/null +++ b/docs/Models/Requests/HrisEmployeePayrollsAllRequest.md @@ -0,0 +1,15 @@ +# HrisEmployeePayrollsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `EmployeeId` | *string* | :heavy_check_mark: | ID of the employee you are acting upon. | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Filter` | [PayrollsFilter](../../Models/Components/PayrollsFilter.md) | :heavy_minus_sign: | Apply filters | {
"start_date": "2022-04-08",
"end_date": "2022-04-21"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeePayrollsAllResponse.md b/docs/Models/Requests/HrisEmployeePayrollsAllResponse.md new file mode 100644 index 00000000..5afa139c --- /dev/null +++ b/docs/Models/Requests/HrisEmployeePayrollsAllResponse.md @@ -0,0 +1,10 @@ +# HrisEmployeePayrollsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetEmployeePayrollsResponse` | [GetEmployeePayrollsResponse](../../Models/Components/GetEmployeePayrollsResponse.md) | :heavy_minus_sign: | EmployeePayrolls | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeePayrollsOneRequest.md b/docs/Models/Requests/HrisEmployeePayrollsOneRequest.md new file mode 100644 index 00000000..f757bf0f --- /dev/null +++ b/docs/Models/Requests/HrisEmployeePayrollsOneRequest.md @@ -0,0 +1,14 @@ +# HrisEmployeePayrollsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `PayrollId` | *string* | :heavy_check_mark: | ID of the payroll you are acting upon. | | +| `EmployeeId` | *string* | :heavy_check_mark: | ID of the employee you are acting upon. | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeePayrollsOneResponse.md b/docs/Models/Requests/HrisEmployeePayrollsOneResponse.md new file mode 100644 index 00000000..8ef376fa --- /dev/null +++ b/docs/Models/Requests/HrisEmployeePayrollsOneResponse.md @@ -0,0 +1,10 @@ +# HrisEmployeePayrollsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetEmployeePayrollResponse` | [GetEmployeePayrollResponse](../../Models/Components/GetEmployeePayrollResponse.md) | :heavy_minus_sign: | Payrolls | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeeSchedulesAllRequest.md b/docs/Models/Requests/HrisEmployeeSchedulesAllRequest.md new file mode 100644 index 00000000..758329b5 --- /dev/null +++ b/docs/Models/Requests/HrisEmployeeSchedulesAllRequest.md @@ -0,0 +1,14 @@ +# HrisEmployeeSchedulesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `EmployeeId` | *string* | :heavy_check_mark: | ID of the employee you are acting upon. | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeeSchedulesAllResponse.md b/docs/Models/Requests/HrisEmployeeSchedulesAllResponse.md new file mode 100644 index 00000000..fc96608a --- /dev/null +++ b/docs/Models/Requests/HrisEmployeeSchedulesAllResponse.md @@ -0,0 +1,10 @@ +# HrisEmployeeSchedulesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetEmployeeSchedulesResponse` | [GetEmployeeSchedulesResponse](../../Models/Components/GetEmployeeSchedulesResponse.md) | :heavy_minus_sign: | EmployeeSchedules | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeesAddRequest.md b/docs/Models/Requests/HrisEmployeesAddRequest.md new file mode 100644 index 00000000..f3efe19e --- /dev/null +++ b/docs/Models/Requests/HrisEmployeesAddRequest.md @@ -0,0 +1,12 @@ +# HrisEmployeesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Employee` | [EmployeeInput](../../Models/Components/EmployeeInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeesAddResponse.md b/docs/Models/Requests/HrisEmployeesAddResponse.md new file mode 100644 index 00000000..503fd6f2 --- /dev/null +++ b/docs/Models/Requests/HrisEmployeesAddResponse.md @@ -0,0 +1,10 @@ +# HrisEmployeesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateEmployeeResponse` | [CreateEmployeeResponse](../../Models/Components/CreateEmployeeResponse.md) | :heavy_minus_sign: | Employees | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeesAllRequest.md b/docs/Models/Requests/HrisEmployeesAllRequest.md new file mode 100644 index 00000000..299f3686 --- /dev/null +++ b/docs/Models/Requests/HrisEmployeesAllRequest.md @@ -0,0 +1,17 @@ +# HrisEmployeesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [EmployeesFilter](../../Models/Components/EmployeesFilter.md) | :heavy_minus_sign: | Apply filters | {
"company_id": "1234",
"email": "elon@tesla.com",
"first_name": "Elon",
"last_name": "Musk",
"title": "Manager",
"manager_id": "1234",
"employment_status": "active",
"employee_number": "123456-AB",
"department_id": "1234"
} | +| `Sort` | [EmployeesSort](../../Models/Components/EmployeesSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "created_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeesAllResponse.md b/docs/Models/Requests/HrisEmployeesAllResponse.md new file mode 100644 index 00000000..23eb6bc2 --- /dev/null +++ b/docs/Models/Requests/HrisEmployeesAllResponse.md @@ -0,0 +1,10 @@ +# HrisEmployeesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetEmployeesResponse` | [GetEmployeesResponse](../../Models/Components/GetEmployeesResponse.md) | :heavy_minus_sign: | Employees | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeesDeleteRequest.md b/docs/Models/Requests/HrisEmployeesDeleteRequest.md new file mode 100644 index 00000000..d3d767f3 --- /dev/null +++ b/docs/Models/Requests/HrisEmployeesDeleteRequest.md @@ -0,0 +1,12 @@ +# HrisEmployeesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeesDeleteResponse.md b/docs/Models/Requests/HrisEmployeesDeleteResponse.md new file mode 100644 index 00000000..8efb113d --- /dev/null +++ b/docs/Models/Requests/HrisEmployeesDeleteResponse.md @@ -0,0 +1,10 @@ +# HrisEmployeesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteEmployeeResponse` | [DeleteEmployeeResponse](../../Models/Components/DeleteEmployeeResponse.md) | :heavy_minus_sign: | Employees | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeesOneRequest.md b/docs/Models/Requests/HrisEmployeesOneRequest.md new file mode 100644 index 00000000..9921c97b --- /dev/null +++ b/docs/Models/Requests/HrisEmployeesOneRequest.md @@ -0,0 +1,15 @@ +# HrisEmployeesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | +| `Filter` | [EmployeesOneFilter](../../Models/Components/EmployeesOneFilter.md) | :heavy_minus_sign: | Apply filters | {
"company_id": "1234"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeesOneResponse.md b/docs/Models/Requests/HrisEmployeesOneResponse.md new file mode 100644 index 00000000..68852fe5 --- /dev/null +++ b/docs/Models/Requests/HrisEmployeesOneResponse.md @@ -0,0 +1,10 @@ +# HrisEmployeesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetEmployeeResponse` | [GetEmployeeResponse](../../Models/Components/GetEmployeeResponse.md) | :heavy_minus_sign: | Employees | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeesUpdateRequest.md b/docs/Models/Requests/HrisEmployeesUpdateRequest.md new file mode 100644 index 00000000..739c8af8 --- /dev/null +++ b/docs/Models/Requests/HrisEmployeesUpdateRequest.md @@ -0,0 +1,13 @@ +# HrisEmployeesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Employee` | [EmployeeInput](../../Models/Components/EmployeeInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/HrisEmployeesUpdateResponse.md b/docs/Models/Requests/HrisEmployeesUpdateResponse.md new file mode 100644 index 00000000..f8dd54da --- /dev/null +++ b/docs/Models/Requests/HrisEmployeesUpdateResponse.md @@ -0,0 +1,10 @@ +# HrisEmployeesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateEmployeeResponse` | [UpdateEmployeeResponse](../../Models/Components/UpdateEmployeeResponse.md) | :heavy_minus_sign: | Employees | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisPayrollsAllRequest.md b/docs/Models/Requests/HrisPayrollsAllRequest.md new file mode 100644 index 00000000..3b64eb6f --- /dev/null +++ b/docs/Models/Requests/HrisPayrollsAllRequest.md @@ -0,0 +1,14 @@ +# HrisPayrollsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Filter` | [PayrollsFilter](../../Models/Components/PayrollsFilter.md) | :heavy_minus_sign: | Apply filters | {
"start_date": "2022-04-08",
"end_date": "2022-04-21"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/HrisPayrollsAllResponse.md b/docs/Models/Requests/HrisPayrollsAllResponse.md new file mode 100644 index 00000000..82397fb6 --- /dev/null +++ b/docs/Models/Requests/HrisPayrollsAllResponse.md @@ -0,0 +1,10 @@ +# HrisPayrollsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetPayrollsResponse` | [GetPayrollsResponse](../../Models/Components/GetPayrollsResponse.md) | :heavy_minus_sign: | Payrolls | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisPayrollsOneRequest.md b/docs/Models/Requests/HrisPayrollsOneRequest.md new file mode 100644 index 00000000..110cc93f --- /dev/null +++ b/docs/Models/Requests/HrisPayrollsOneRequest.md @@ -0,0 +1,13 @@ +# HrisPayrollsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `PayrollId` | *string* | :heavy_check_mark: | ID of the payroll you are acting upon. | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/HrisPayrollsOneResponse.md b/docs/Models/Requests/HrisPayrollsOneResponse.md new file mode 100644 index 00000000..35fa7f79 --- /dev/null +++ b/docs/Models/Requests/HrisPayrollsOneResponse.md @@ -0,0 +1,10 @@ +# HrisPayrollsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetPayrollResponse` | [GetPayrollResponse](../../Models/Components/GetPayrollResponse.md) | :heavy_minus_sign: | Payrolls | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisTimeOffRequestsAddRequest.md b/docs/Models/Requests/HrisTimeOffRequestsAddRequest.md new file mode 100644 index 00000000..4aa4fa1c --- /dev/null +++ b/docs/Models/Requests/HrisTimeOffRequestsAddRequest.md @@ -0,0 +1,12 @@ +# HrisTimeOffRequestsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `TimeOffRequest` | [TimeOffRequestInput](../../Models/Components/TimeOffRequestInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/HrisTimeOffRequestsAddResponse.md b/docs/Models/Requests/HrisTimeOffRequestsAddResponse.md new file mode 100644 index 00000000..bb2b8be8 --- /dev/null +++ b/docs/Models/Requests/HrisTimeOffRequestsAddResponse.md @@ -0,0 +1,10 @@ +# HrisTimeOffRequestsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateTimeOffRequestResponse` | [CreateTimeOffRequestResponse](../../Models/Components/CreateTimeOffRequestResponse.md) | :heavy_minus_sign: | TimeOffRequests | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisTimeOffRequestsAllRequest.md b/docs/Models/Requests/HrisTimeOffRequestsAllRequest.md new file mode 100644 index 00000000..85f68b2f --- /dev/null +++ b/docs/Models/Requests/HrisTimeOffRequestsAllRequest.md @@ -0,0 +1,16 @@ +# HrisTimeOffRequestsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [TimeOffRequestsFilter](../../Models/Components/TimeOffRequestsFilter.md) | :heavy_minus_sign: | Apply filters | {
"start_date": "2022-04-08",
"end_date": "2022-04-21",
"updated_since": "2020-09-30T07:43:32.000Z",
"employee_id": "1234",
"time_off_request_status": "approved",
"company_id": "1234"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/HrisTimeOffRequestsAllResponse.md b/docs/Models/Requests/HrisTimeOffRequestsAllResponse.md new file mode 100644 index 00000000..a323ca3f --- /dev/null +++ b/docs/Models/Requests/HrisTimeOffRequestsAllResponse.md @@ -0,0 +1,10 @@ +# HrisTimeOffRequestsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetTimeOffRequestsResponse` | [GetTimeOffRequestsResponse](../../Models/Components/GetTimeOffRequestsResponse.md) | :heavy_minus_sign: | TimeOffRequests | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisTimeOffRequestsDeleteRequest.md b/docs/Models/Requests/HrisTimeOffRequestsDeleteRequest.md new file mode 100644 index 00000000..30611c81 --- /dev/null +++ b/docs/Models/Requests/HrisTimeOffRequestsDeleteRequest.md @@ -0,0 +1,13 @@ +# HrisTimeOffRequestsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `EmployeeId` | *string* | :heavy_check_mark: | ID of the employee you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/HrisTimeOffRequestsDeleteResponse.md b/docs/Models/Requests/HrisTimeOffRequestsDeleteResponse.md new file mode 100644 index 00000000..a3bc2283 --- /dev/null +++ b/docs/Models/Requests/HrisTimeOffRequestsDeleteResponse.md @@ -0,0 +1,10 @@ +# HrisTimeOffRequestsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteTimeOffRequestResponse` | [DeleteTimeOffRequestResponse](../../Models/Components/DeleteTimeOffRequestResponse.md) | :heavy_minus_sign: | TimeOffRequests | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisTimeOffRequestsOneRequest.md b/docs/Models/Requests/HrisTimeOffRequestsOneRequest.md new file mode 100644 index 00000000..63ff3295 --- /dev/null +++ b/docs/Models/Requests/HrisTimeOffRequestsOneRequest.md @@ -0,0 +1,14 @@ +# HrisTimeOffRequestsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `EmployeeId` | *string* | :heavy_check_mark: | ID of the employee you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/HrisTimeOffRequestsOneResponse.md b/docs/Models/Requests/HrisTimeOffRequestsOneResponse.md new file mode 100644 index 00000000..5d2c2082 --- /dev/null +++ b/docs/Models/Requests/HrisTimeOffRequestsOneResponse.md @@ -0,0 +1,10 @@ +# HrisTimeOffRequestsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetTimeOffRequestResponse` | [GetTimeOffRequestResponse](../../Models/Components/GetTimeOffRequestResponse.md) | :heavy_minus_sign: | TimeOffRequests | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/HrisTimeOffRequestsUpdateRequest.md b/docs/Models/Requests/HrisTimeOffRequestsUpdateRequest.md new file mode 100644 index 00000000..1c2fa7c9 --- /dev/null +++ b/docs/Models/Requests/HrisTimeOffRequestsUpdateRequest.md @@ -0,0 +1,14 @@ +# HrisTimeOffRequestsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `EmployeeId` | *string* | :heavy_check_mark: | ID of the employee you are acting upon. | | +| `TimeOffRequest` | [TimeOffRequestInput](../../Models/Components/TimeOffRequestInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/HrisTimeOffRequestsUpdateResponse.md b/docs/Models/Requests/HrisTimeOffRequestsUpdateResponse.md new file mode 100644 index 00000000..f5aede3f --- /dev/null +++ b/docs/Models/Requests/HrisTimeOffRequestsUpdateResponse.md @@ -0,0 +1,10 @@ +# HrisTimeOffRequestsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateTimeOffRequestResponse` | [UpdateTimeOffRequestResponse](../../Models/Components/UpdateTimeOffRequestResponse.md) | :heavy_minus_sign: | TimeOffRequests | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTagsAllRequest.md b/docs/Models/Requests/IssueTrackingCollectionTagsAllRequest.md new file mode 100644 index 00000000..cfad6b54 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTagsAllRequest.md @@ -0,0 +1,16 @@ +# IssueTrackingCollectionTagsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `CollectionId` | *string* | :heavy_check_mark: | The collection ID | apideck-io | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTagsAllResponse.md b/docs/Models/Requests/IssueTrackingCollectionTagsAllResponse.md new file mode 100644 index 00000000..e0b47d5d --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTagsAllResponse.md @@ -0,0 +1,10 @@ +# IssueTrackingCollectionTagsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCollectionTagsResponse` | [GetCollectionTagsResponse](../../Models/Components/GetCollectionTagsResponse.md) | :heavy_minus_sign: | List Tags | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketCommentsAddRequest.md b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsAddRequest.md new file mode 100644 index 00000000..70d9775e --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsAddRequest.md @@ -0,0 +1,14 @@ +# IssueTrackingCollectionTicketCommentsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `CollectionId` | *string* | :heavy_check_mark: | The collection ID | apideck-io | +| `TicketId` | *string* | :heavy_check_mark: | ID of the ticket you are acting upon. | | +| `CollectionTicketComment` | [CollectionTicketCommentInput](../../Models/Components/CollectionTicketCommentInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketCommentsAddResponse.md b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsAddResponse.md new file mode 100644 index 00000000..1a217f3e --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsAddResponse.md @@ -0,0 +1,10 @@ +# IssueTrackingCollectionTicketCommentsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateCommentResponse` | [CreateCommentResponse](../../Models/Components/CreateCommentResponse.md) | :heavy_minus_sign: | Create a Comment | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketCommentsAllRequest.md b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsAllRequest.md new file mode 100644 index 00000000..d43cc1b1 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsAllRequest.md @@ -0,0 +1,18 @@ +# IssueTrackingCollectionTicketCommentsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `CollectionId` | *string* | :heavy_check_mark: | The collection ID | apideck-io | +| `TicketId` | *string* | :heavy_check_mark: | ID of the ticket you are acting upon. | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Sort` | [CommentsSort](../../Models/Components/CommentsSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "created_at",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketCommentsAllResponse.md b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsAllResponse.md new file mode 100644 index 00000000..83098109 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsAllResponse.md @@ -0,0 +1,10 @@ +# IssueTrackingCollectionTicketCommentsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCommentsResponse` | [GetCommentsResponse](../../Models/Components/GetCommentsResponse.md) | :heavy_minus_sign: | List Comments | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteRequest.md b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteRequest.md new file mode 100644 index 00000000..e7588820 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteRequest.md @@ -0,0 +1,14 @@ +# IssueTrackingCollectionTicketCommentsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `CollectionId` | *string* | :heavy_check_mark: | The collection ID | apideck-io | +| `TicketId` | *string* | :heavy_check_mark: | ID of the ticket you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteResponse.md b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteResponse.md new file mode 100644 index 00000000..1da2127f --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteResponse.md @@ -0,0 +1,10 @@ +# IssueTrackingCollectionTicketCommentsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteCommentResponse` | [DeleteCommentResponse](../../Models/Components/DeleteCommentResponse.md) | :heavy_minus_sign: | Delete a Comment | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketCommentsOneRequest.md b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsOneRequest.md new file mode 100644 index 00000000..b6104ab2 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsOneRequest.md @@ -0,0 +1,17 @@ +# IssueTrackingCollectionTicketCommentsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `CollectionId` | *string* | :heavy_check_mark: | The collection ID | apideck-io | +| `TicketId` | *string* | :heavy_check_mark: | ID of the ticket you are acting upon. | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketCommentsOneResponse.md b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsOneResponse.md new file mode 100644 index 00000000..fa1ae929 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsOneResponse.md @@ -0,0 +1,10 @@ +# IssueTrackingCollectionTicketCommentsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCommentResponse` | [GetCommentResponse](../../Models/Components/GetCommentResponse.md) | :heavy_minus_sign: | Get a Comment | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateRequest.md b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateRequest.md new file mode 100644 index 00000000..126e3489 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateRequest.md @@ -0,0 +1,15 @@ +# IssueTrackingCollectionTicketCommentsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `CollectionId` | *string* | :heavy_check_mark: | The collection ID | apideck-io | +| `TicketId` | *string* | :heavy_check_mark: | ID of the ticket you are acting upon. | | +| `CollectionTicketComment` | [CollectionTicketCommentInput](../../Models/Components/CollectionTicketCommentInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateResponse.md b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateResponse.md new file mode 100644 index 00000000..1ba49722 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateResponse.md @@ -0,0 +1,10 @@ +# IssueTrackingCollectionTicketCommentsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateCommentResponse` | [UpdateCommentResponse](../../Models/Components/UpdateCommentResponse.md) | :heavy_minus_sign: | Update a Comment | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketsAddRequest.md b/docs/Models/Requests/IssueTrackingCollectionTicketsAddRequest.md new file mode 100644 index 00000000..31e7517e --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketsAddRequest.md @@ -0,0 +1,13 @@ +# IssueTrackingCollectionTicketsAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `CollectionId` | *string* | :heavy_check_mark: | The collection ID | apideck-io | +| `Ticket` | [TicketInput](../../Models/Components/TicketInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketsAddResponse.md b/docs/Models/Requests/IssueTrackingCollectionTicketsAddResponse.md new file mode 100644 index 00000000..214d791d --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketsAddResponse.md @@ -0,0 +1,10 @@ +# IssueTrackingCollectionTicketsAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateTicketResponse` | [CreateTicketResponse](../../Models/Components/CreateTicketResponse.md) | :heavy_minus_sign: | Create a Ticket | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketsAllRequest.md b/docs/Models/Requests/IssueTrackingCollectionTicketsAllRequest.md new file mode 100644 index 00000000..0f885cd9 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketsAllRequest.md @@ -0,0 +1,18 @@ +# IssueTrackingCollectionTicketsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `CollectionId` | *string* | :heavy_check_mark: | The collection ID | apideck-io | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Sort` | [TicketsSort](../../Models/Components/TicketsSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "created_at",
"direction": "desc"
} | +| `Filter` | [IssuesFilter](../../Models/Components/IssuesFilter.md) | :heavy_minus_sign: | Apply filters | {
"status": [
"open"
]
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketsAllResponse.md b/docs/Models/Requests/IssueTrackingCollectionTicketsAllResponse.md new file mode 100644 index 00000000..7d0d022f --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketsAllResponse.md @@ -0,0 +1,10 @@ +# IssueTrackingCollectionTicketsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetTicketsResponse` | [GetTicketsResponse](../../Models/Components/GetTicketsResponse.md) | :heavy_minus_sign: | List Tickets | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketsDeleteRequest.md b/docs/Models/Requests/IssueTrackingCollectionTicketsDeleteRequest.md new file mode 100644 index 00000000..941df2c4 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketsDeleteRequest.md @@ -0,0 +1,13 @@ +# IssueTrackingCollectionTicketsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `TicketId` | *string* | :heavy_check_mark: | ID of the ticket you are acting upon. | | +| `CollectionId` | *string* | :heavy_check_mark: | The collection ID | apideck-io | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketsDeleteResponse.md b/docs/Models/Requests/IssueTrackingCollectionTicketsDeleteResponse.md new file mode 100644 index 00000000..29345cdc --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketsDeleteResponse.md @@ -0,0 +1,10 @@ +# IssueTrackingCollectionTicketsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteTicketResponse` | [DeleteTicketResponse](../../Models/Components/DeleteTicketResponse.md) | :heavy_minus_sign: | Delete a Ticket | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketsOneRequest.md b/docs/Models/Requests/IssueTrackingCollectionTicketsOneRequest.md new file mode 100644 index 00000000..3cf808d7 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketsOneRequest.md @@ -0,0 +1,14 @@ +# IssueTrackingCollectionTicketsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `TicketId` | *string* | :heavy_check_mark: | ID of the ticket you are acting upon. | | +| `CollectionId` | *string* | :heavy_check_mark: | The collection ID | apideck-io | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketsOneResponse.md b/docs/Models/Requests/IssueTrackingCollectionTicketsOneResponse.md new file mode 100644 index 00000000..625d031c --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketsOneResponse.md @@ -0,0 +1,10 @@ +# IssueTrackingCollectionTicketsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetTicketResponse` | [GetTicketResponse](../../Models/Components/GetTicketResponse.md) | :heavy_minus_sign: | Get a Ticket | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketsUpdateRequest.md b/docs/Models/Requests/IssueTrackingCollectionTicketsUpdateRequest.md new file mode 100644 index 00000000..10ba87b8 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketsUpdateRequest.md @@ -0,0 +1,14 @@ +# IssueTrackingCollectionTicketsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `TicketId` | *string* | :heavy_check_mark: | ID of the ticket you are acting upon. | | +| `CollectionId` | *string* | :heavy_check_mark: | The collection ID | apideck-io | +| `Ticket` | [TicketInput](../../Models/Components/TicketInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionTicketsUpdateResponse.md b/docs/Models/Requests/IssueTrackingCollectionTicketsUpdateResponse.md new file mode 100644 index 00000000..dd72d60f --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionTicketsUpdateResponse.md @@ -0,0 +1,10 @@ +# IssueTrackingCollectionTicketsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateTicketResponse` | [UpdateTicketResponse](../../Models/Components/UpdateTicketResponse.md) | :heavy_minus_sign: | Update a Ticket | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionUsersAllRequest.md b/docs/Models/Requests/IssueTrackingCollectionUsersAllRequest.md new file mode 100644 index 00000000..397dd060 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionUsersAllRequest.md @@ -0,0 +1,16 @@ +# IssueTrackingCollectionUsersAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `CollectionId` | *string* | :heavy_check_mark: | The collection ID | apideck-io | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionUsersAllResponse.md b/docs/Models/Requests/IssueTrackingCollectionUsersAllResponse.md new file mode 100644 index 00000000..eefc7e97 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionUsersAllResponse.md @@ -0,0 +1,10 @@ +# IssueTrackingCollectionUsersAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCollectionUsersResponse` | [GetCollectionUsersResponse](../../Models/Components/GetCollectionUsersResponse.md) | :heavy_minus_sign: | Users | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionUsersOneRequest.md b/docs/Models/Requests/IssueTrackingCollectionUsersOneRequest.md new file mode 100644 index 00000000..a47374bc --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionUsersOneRequest.md @@ -0,0 +1,14 @@ +# IssueTrackingCollectionUsersOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `CollectionId` | *string* | :heavy_check_mark: | The collection ID | apideck-io | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionUsersOneResponse.md b/docs/Models/Requests/IssueTrackingCollectionUsersOneResponse.md new file mode 100644 index 00000000..03523f07 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionUsersOneResponse.md @@ -0,0 +1,10 @@ +# IssueTrackingCollectionUsersOneResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCollectionUserResponse` | [GetCollectionUserResponse](../../Models/Components/GetCollectionUserResponse.md) | :heavy_minus_sign: | User | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionsAllRequest.md b/docs/Models/Requests/IssueTrackingCollectionsAllRequest.md new file mode 100644 index 00000000..1edeb1fd --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionsAllRequest.md @@ -0,0 +1,16 @@ +# IssueTrackingCollectionsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Sort` | [CollectionsSort](../../Models/Components/CollectionsSort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "name",
"direction": "desc"
} | +| `PassThrough` | Dictionary | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionsAllResponse.md b/docs/Models/Requests/IssueTrackingCollectionsAllResponse.md new file mode 100644 index 00000000..5be7cb52 --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionsAllResponse.md @@ -0,0 +1,10 @@ +# IssueTrackingCollectionsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCollectionsResponse` | [GetCollectionsResponse](../../Models/Components/GetCollectionsResponse.md) | :heavy_minus_sign: | List Collections | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionsOneRequest.md b/docs/Models/Requests/IssueTrackingCollectionsOneRequest.md new file mode 100644 index 00000000..e8c2f27e --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionsOneRequest.md @@ -0,0 +1,13 @@ +# IssueTrackingCollectionsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `CollectionId` | *string* | :heavy_check_mark: | The collection ID | apideck-io | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/IssueTrackingCollectionsOneResponse.md b/docs/Models/Requests/IssueTrackingCollectionsOneResponse.md new file mode 100644 index 00000000..d3aadf3b --- /dev/null +++ b/docs/Models/Requests/IssueTrackingCollectionsOneResponse.md @@ -0,0 +1,10 @@ +# IssueTrackingCollectionsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCollectionResponse` | [GetCollectionResponse](../../Models/Components/GetCollectionResponse.md) | :heavy_minus_sign: | Get a Collection | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/SmsMessagesAddRequest.md b/docs/Models/Requests/SmsMessagesAddRequest.md new file mode 100644 index 00000000..4d066c8f --- /dev/null +++ b/docs/Models/Requests/SmsMessagesAddRequest.md @@ -0,0 +1,12 @@ +# SmsMessagesAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Message` | [MessageInput](../../Models/Components/MessageInput.md) | :heavy_check_mark: | N/A | | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | \ No newline at end of file diff --git a/docs/Models/Requests/SmsMessagesAddResponse.md b/docs/Models/Requests/SmsMessagesAddResponse.md new file mode 100644 index 00000000..699e636b --- /dev/null +++ b/docs/Models/Requests/SmsMessagesAddResponse.md @@ -0,0 +1,10 @@ +# SmsMessagesAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateMessageResponse` | [CreateMessageResponse](../../Models/Components/CreateMessageResponse.md) | :heavy_minus_sign: | Messages | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/SmsMessagesAllRequest.md b/docs/Models/Requests/SmsMessagesAllRequest.md new file mode 100644 index 00000000..fe9745d2 --- /dev/null +++ b/docs/Models/Requests/SmsMessagesAllRequest.md @@ -0,0 +1,14 @@ +# SmsMessagesAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/SmsMessagesAllResponse.md b/docs/Models/Requests/SmsMessagesAllResponse.md new file mode 100644 index 00000000..d9d1fd79 --- /dev/null +++ b/docs/Models/Requests/SmsMessagesAllResponse.md @@ -0,0 +1,10 @@ +# SmsMessagesAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetMessagesResponse` | [GetMessagesResponse](../../Models/Components/GetMessagesResponse.md) | :heavy_minus_sign: | Messages | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/SmsMessagesDeleteRequest.md b/docs/Models/Requests/SmsMessagesDeleteRequest.md new file mode 100644 index 00000000..1d8af3b6 --- /dev/null +++ b/docs/Models/Requests/SmsMessagesDeleteRequest.md @@ -0,0 +1,12 @@ +# SmsMessagesDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/SmsMessagesDeleteResponse.md b/docs/Models/Requests/SmsMessagesDeleteResponse.md new file mode 100644 index 00000000..a5fd0b2f --- /dev/null +++ b/docs/Models/Requests/SmsMessagesDeleteResponse.md @@ -0,0 +1,10 @@ +# SmsMessagesDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteMessageResponse` | [DeleteMessageResponse](../../Models/Components/DeleteMessageResponse.md) | :heavy_minus_sign: | Messages | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/SmsMessagesOneRequest.md b/docs/Models/Requests/SmsMessagesOneRequest.md new file mode 100644 index 00000000..ac36fed2 --- /dev/null +++ b/docs/Models/Requests/SmsMessagesOneRequest.md @@ -0,0 +1,13 @@ +# SmsMessagesOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `Fields` | *string* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/Models/Requests/SmsMessagesOneResponse.md b/docs/Models/Requests/SmsMessagesOneResponse.md new file mode 100644 index 00000000..63da40e0 --- /dev/null +++ b/docs/Models/Requests/SmsMessagesOneResponse.md @@ -0,0 +1,10 @@ +# SmsMessagesOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetMessageResponse` | [GetMessageResponse](../../Models/Components/GetMessageResponse.md) | :heavy_minus_sign: | Messages | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/SmsMessagesUpdateRequest.md b/docs/Models/Requests/SmsMessagesUpdateRequest.md new file mode 100644 index 00000000..119842b4 --- /dev/null +++ b/docs/Models/Requests/SmsMessagesUpdateRequest.md @@ -0,0 +1,13 @@ +# SmsMessagesUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `Message` | [MessageInput](../../Models/Components/MessageInput.md) | :heavy_check_mark: | N/A | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ServiceId` | *string* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | +| `Raw` | *bool* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | \ No newline at end of file diff --git a/docs/Models/Requests/SmsMessagesUpdateResponse.md b/docs/Models/Requests/SmsMessagesUpdateResponse.md new file mode 100644 index 00000000..a2bb9a17 --- /dev/null +++ b/docs/Models/Requests/SmsMessagesUpdateResponse.md @@ -0,0 +1,10 @@ +# SmsMessagesUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateMessageResponse` | [UpdateMessageResponse](../../Models/Components/UpdateMessageResponse.md) | :heavy_minus_sign: | Messages | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionCustomMappingsAllRequest.md b/docs/Models/Requests/VaultConnectionCustomMappingsAllRequest.md new file mode 100644 index 00000000..721063b0 --- /dev/null +++ b/docs/Models/Requests/VaultConnectionCustomMappingsAllRequest.md @@ -0,0 +1,13 @@ +# VaultConnectionCustomMappingsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `UnifiedApi` | *string* | :heavy_check_mark: | Unified API | crm | +| `ServiceId` | *string* | :heavy_check_mark: | Service ID of the resource to return | pipedrive | +| `Resource` | *string* | :heavy_check_mark: | Name of the resource (plural) | leads | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ResourceId` | *string* | :heavy_minus_sign: | This is the id of the resource you want to fetch when listing custom fields. For example, if you want to fetch custom fields for a specific contact, you would use the contact id. | 1234 | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionCustomMappingsAllResponse.md b/docs/Models/Requests/VaultConnectionCustomMappingsAllResponse.md new file mode 100644 index 00000000..f4555cfa --- /dev/null +++ b/docs/Models/Requests/VaultConnectionCustomMappingsAllResponse.md @@ -0,0 +1,10 @@ +# VaultConnectionCustomMappingsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCustomMappingsResponse` | [GetCustomMappingsResponse](../../Models/Components/GetCustomMappingsResponse.md) | :heavy_minus_sign: | Custom mapping | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionSettingsAllRequest.md b/docs/Models/Requests/VaultConnectionSettingsAllRequest.md new file mode 100644 index 00000000..4cdf94ee --- /dev/null +++ b/docs/Models/Requests/VaultConnectionSettingsAllRequest.md @@ -0,0 +1,12 @@ +# VaultConnectionSettingsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `UnifiedApi` | *string* | :heavy_check_mark: | Unified API | crm | +| `ServiceId` | *string* | :heavy_check_mark: | Service ID of the resource to return | pipedrive | +| `Resource` | *string* | :heavy_check_mark: | Name of the resource (plural) | leads | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionSettingsAllResponse.md b/docs/Models/Requests/VaultConnectionSettingsAllResponse.md new file mode 100644 index 00000000..7b3c3b23 --- /dev/null +++ b/docs/Models/Requests/VaultConnectionSettingsAllResponse.md @@ -0,0 +1,10 @@ +# VaultConnectionSettingsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetConnectionResponse` | [GetConnectionResponse](../../Models/Components/GetConnectionResponse.md) | :heavy_minus_sign: | Connection | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionSettingsUpdateRequest.md b/docs/Models/Requests/VaultConnectionSettingsUpdateRequest.md new file mode 100644 index 00000000..aae0ab9a --- /dev/null +++ b/docs/Models/Requests/VaultConnectionSettingsUpdateRequest.md @@ -0,0 +1,13 @@ +# VaultConnectionSettingsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `ServiceId` | *string* | :heavy_check_mark: | Service ID of the resource to return | pipedrive | +| `UnifiedApi` | *string* | :heavy_check_mark: | Unified API | crm | +| `Resource` | *string* | :heavy_check_mark: | Name of the resource (plural) | leads | +| `Connection` | [ConnectionInput](../../Models/Components/ConnectionInput.md) | :heavy_check_mark: | Fields that need to be updated on the resource | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionSettingsUpdateResponse.md b/docs/Models/Requests/VaultConnectionSettingsUpdateResponse.md new file mode 100644 index 00000000..11b83c00 --- /dev/null +++ b/docs/Models/Requests/VaultConnectionSettingsUpdateResponse.md @@ -0,0 +1,10 @@ +# VaultConnectionSettingsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateConnectionResponse` | [UpdateConnectionResponse](../../Models/Components/UpdateConnectionResponse.md) | :heavy_minus_sign: | Connection updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionsAllRequest.md b/docs/Models/Requests/VaultConnectionsAllRequest.md new file mode 100644 index 00000000..da160552 --- /dev/null +++ b/docs/Models/Requests/VaultConnectionsAllRequest.md @@ -0,0 +1,11 @@ +# VaultConnectionsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `Api` | *string* | :heavy_minus_sign: | Scope results to Unified API | crm | +| `Configured` | *bool* | :heavy_minus_sign: | Scopes results to connections that have been configured or not | true | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionsAllResponse.md b/docs/Models/Requests/VaultConnectionsAllResponse.md new file mode 100644 index 00000000..0ee44401 --- /dev/null +++ b/docs/Models/Requests/VaultConnectionsAllResponse.md @@ -0,0 +1,10 @@ +# VaultConnectionsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetConnectionsResponse` | [GetConnectionsResponse](../../Models/Components/GetConnectionsResponse.md) | :heavy_minus_sign: | Connections | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionsDeleteRequest.md b/docs/Models/Requests/VaultConnectionsDeleteRequest.md new file mode 100644 index 00000000..6ef02df6 --- /dev/null +++ b/docs/Models/Requests/VaultConnectionsDeleteRequest.md @@ -0,0 +1,11 @@ +# VaultConnectionsDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `ServiceId` | *string* | :heavy_check_mark: | Service ID of the resource to return | pipedrive | +| `UnifiedApi` | *string* | :heavy_check_mark: | Unified API | crm | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionsDeleteResponse.md b/docs/Models/Requests/VaultConnectionsDeleteResponse.md new file mode 100644 index 00000000..609dbc92 --- /dev/null +++ b/docs/Models/Requests/VaultConnectionsDeleteResponse.md @@ -0,0 +1,9 @@ +# VaultConnectionsDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionsImportRequest.md b/docs/Models/Requests/VaultConnectionsImportRequest.md new file mode 100644 index 00000000..ebbf67d9 --- /dev/null +++ b/docs/Models/Requests/VaultConnectionsImportRequest.md @@ -0,0 +1,12 @@ +# VaultConnectionsImportRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `ServiceId` | *string* | :heavy_check_mark: | Service ID of the resource to return | pipedrive | +| `UnifiedApi` | *string* | :heavy_check_mark: | Unified API | crm | +| `ConnectionImportData` | [ConnectionImportData](../../Models/Components/ConnectionImportData.md) | :heavy_check_mark: | Fields that need to be persisted on the resource | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionsImportResponse.md b/docs/Models/Requests/VaultConnectionsImportResponse.md new file mode 100644 index 00000000..06c4ca56 --- /dev/null +++ b/docs/Models/Requests/VaultConnectionsImportResponse.md @@ -0,0 +1,10 @@ +# VaultConnectionsImportResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateConnectionResponse` | [CreateConnectionResponse](../../Models/Components/CreateConnectionResponse.md) | :heavy_minus_sign: | Connection created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionsOneRequest.md b/docs/Models/Requests/VaultConnectionsOneRequest.md new file mode 100644 index 00000000..382da6d6 --- /dev/null +++ b/docs/Models/Requests/VaultConnectionsOneRequest.md @@ -0,0 +1,11 @@ +# VaultConnectionsOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `ServiceId` | *string* | :heavy_check_mark: | Service ID of the resource to return | pipedrive | +| `UnifiedApi` | *string* | :heavy_check_mark: | Unified API | crm | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionsOneResponse.md b/docs/Models/Requests/VaultConnectionsOneResponse.md new file mode 100644 index 00000000..2cd6c488 --- /dev/null +++ b/docs/Models/Requests/VaultConnectionsOneResponse.md @@ -0,0 +1,10 @@ +# VaultConnectionsOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetConnectionResponse` | [GetConnectionResponse](../../Models/Components/GetConnectionResponse.md) | :heavy_minus_sign: | Connection | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionsTokenRequest.md b/docs/Models/Requests/VaultConnectionsTokenRequest.md new file mode 100644 index 00000000..85d02f87 --- /dev/null +++ b/docs/Models/Requests/VaultConnectionsTokenRequest.md @@ -0,0 +1,12 @@ +# VaultConnectionsTokenRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `ServiceId` | *string* | :heavy_check_mark: | Service ID of the resource to return | pipedrive | +| `UnifiedApi` | *string* | :heavy_check_mark: | Unified API | crm | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `RequestBody` | [VaultConnectionsTokenRequestBody](../../Models/Requests/VaultConnectionsTokenRequestBody.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionsTokenRequestBody.md b/docs/Models/Requests/VaultConnectionsTokenRequestBody.md new file mode 100644 index 00000000..a5318e95 --- /dev/null +++ b/docs/Models/Requests/VaultConnectionsTokenRequestBody.md @@ -0,0 +1,7 @@ +# VaultConnectionsTokenRequestBody + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionsTokenResponse.md b/docs/Models/Requests/VaultConnectionsTokenResponse.md new file mode 100644 index 00000000..2241a4b1 --- /dev/null +++ b/docs/Models/Requests/VaultConnectionsTokenResponse.md @@ -0,0 +1,10 @@ +# VaultConnectionsTokenResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetConnectionResponse` | [GetConnectionResponse](../../Models/Components/GetConnectionResponse.md) | :heavy_minus_sign: | Connection | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionsUpdateRequest.md b/docs/Models/Requests/VaultConnectionsUpdateRequest.md new file mode 100644 index 00000000..708bd13b --- /dev/null +++ b/docs/Models/Requests/VaultConnectionsUpdateRequest.md @@ -0,0 +1,12 @@ +# VaultConnectionsUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `ServiceId` | *string* | :heavy_check_mark: | Service ID of the resource to return | pipedrive | +| `UnifiedApi` | *string* | :heavy_check_mark: | Unified API | crm | +| `Connection` | [ConnectionInput](../../Models/Components/ConnectionInput.md) | :heavy_check_mark: | Fields that need to be updated on the resource | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConnectionsUpdateResponse.md b/docs/Models/Requests/VaultConnectionsUpdateResponse.md new file mode 100644 index 00000000..8cf9ca46 --- /dev/null +++ b/docs/Models/Requests/VaultConnectionsUpdateResponse.md @@ -0,0 +1,10 @@ +# VaultConnectionsUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateConnectionResponse` | [UpdateConnectionResponse](../../Models/Components/UpdateConnectionResponse.md) | :heavy_minus_sign: | Connection updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConsumerRequestCountsAllRequest.md b/docs/Models/Requests/VaultConsumerRequestCountsAllRequest.md new file mode 100644 index 00000000..5fc875b6 --- /dev/null +++ b/docs/Models/Requests/VaultConsumerRequestCountsAllRequest.md @@ -0,0 +1,11 @@ +# VaultConsumerRequestCountsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `ConsumerId` | *string* | :heavy_check_mark: | ID of the consumer to return | test_user_id | +| `StartDatetime` | *string* | :heavy_check_mark: | Scopes results to requests that happened after datetime | 2021-05-01T12:00:00.000Z | +| `EndDatetime` | *string* | :heavy_check_mark: | Scopes results to requests that happened before datetime | 2021-05-30T12:00:00.000Z | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConsumerRequestCountsAllResponse.md b/docs/Models/Requests/VaultConsumerRequestCountsAllResponse.md new file mode 100644 index 00000000..11c29c12 --- /dev/null +++ b/docs/Models/Requests/VaultConsumerRequestCountsAllResponse.md @@ -0,0 +1,10 @@ +# VaultConsumerRequestCountsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `ConsumerRequestCountsInDateRangeResponse` | [ConsumerRequestCountsInDateRangeResponse](../../Models/Components/ConsumerRequestCountsInDateRangeResponse.md) | :heavy_minus_sign: | Consumers Request Counts within Date Range | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConsumersAddRequest.md b/docs/Models/Requests/VaultConsumersAddRequest.md new file mode 100644 index 00000000..ea47a878 --- /dev/null +++ b/docs/Models/Requests/VaultConsumersAddRequest.md @@ -0,0 +1,9 @@ +# VaultConsumersAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `Consumer` | [ConsumerInput](../../Models/Components/ConsumerInput.md) | :heavy_check_mark: | N/A | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConsumersAddResponse.md b/docs/Models/Requests/VaultConsumersAddResponse.md new file mode 100644 index 00000000..cba0ff60 --- /dev/null +++ b/docs/Models/Requests/VaultConsumersAddResponse.md @@ -0,0 +1,10 @@ +# VaultConsumersAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateConsumerResponse` | [CreateConsumerResponse](../../Models/Components/CreateConsumerResponse.md) | :heavy_minus_sign: | Consumer created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConsumersAllRequest.md b/docs/Models/Requests/VaultConsumersAllRequest.md new file mode 100644 index 00000000..b94eea42 --- /dev/null +++ b/docs/Models/Requests/VaultConsumersAllRequest.md @@ -0,0 +1,10 @@ +# VaultConsumersAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConsumersAllResponse.md b/docs/Models/Requests/VaultConsumersAllResponse.md new file mode 100644 index 00000000..5a8e9825 --- /dev/null +++ b/docs/Models/Requests/VaultConsumersAllResponse.md @@ -0,0 +1,10 @@ +# VaultConsumersAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetConsumersResponse` | [GetConsumersResponse](../../Models/Components/GetConsumersResponse.md) | :heavy_minus_sign: | Consumers | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConsumersDeleteRequest.md b/docs/Models/Requests/VaultConsumersDeleteRequest.md new file mode 100644 index 00000000..96651b61 --- /dev/null +++ b/docs/Models/Requests/VaultConsumersDeleteRequest.md @@ -0,0 +1,9 @@ +# VaultConsumersDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `ConsumerId` | *string* | :heavy_check_mark: | ID of the consumer to return | test_user_id | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConsumersDeleteResponse.md b/docs/Models/Requests/VaultConsumersDeleteResponse.md new file mode 100644 index 00000000..f0e0c8c7 --- /dev/null +++ b/docs/Models/Requests/VaultConsumersDeleteResponse.md @@ -0,0 +1,10 @@ +# VaultConsumersDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteConsumerResponse` | [DeleteConsumerResponse](../../Models/Components/DeleteConsumerResponse.md) | :heavy_minus_sign: | Consumer deleted | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConsumersOneRequest.md b/docs/Models/Requests/VaultConsumersOneRequest.md new file mode 100644 index 00000000..c12ed22b --- /dev/null +++ b/docs/Models/Requests/VaultConsumersOneRequest.md @@ -0,0 +1,9 @@ +# VaultConsumersOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `ConsumerId` | *string* | :heavy_check_mark: | ID of the consumer to return | test_user_id | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConsumersOneResponse.md b/docs/Models/Requests/VaultConsumersOneResponse.md new file mode 100644 index 00000000..d5a8315f --- /dev/null +++ b/docs/Models/Requests/VaultConsumersOneResponse.md @@ -0,0 +1,10 @@ +# VaultConsumersOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetConsumerResponse` | [GetConsumerResponse](../../Models/Components/GetConsumerResponse.md) | :heavy_minus_sign: | Consumer | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConsumersUpdateRequest.md b/docs/Models/Requests/VaultConsumersUpdateRequest.md new file mode 100644 index 00000000..7c89f2cc --- /dev/null +++ b/docs/Models/Requests/VaultConsumersUpdateRequest.md @@ -0,0 +1,10 @@ +# VaultConsumersUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `ConsumerId` | *string* | :heavy_check_mark: | ID of the consumer to return | test_user_id | +| `UpdateConsumerRequest` | [UpdateConsumerRequest](../../Models/Components/UpdateConsumerRequest.md) | :heavy_check_mark: | N/A | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/VaultConsumersUpdateResponse.md b/docs/Models/Requests/VaultConsumersUpdateResponse.md new file mode 100644 index 00000000..fc841a16 --- /dev/null +++ b/docs/Models/Requests/VaultConsumersUpdateResponse.md @@ -0,0 +1,10 @@ +# VaultConsumersUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateConsumerResponse` | [UpdateConsumerResponse](../../Models/Components/UpdateConsumerResponse.md) | :heavy_minus_sign: | Consumer updated | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultCreateCallbackStateRequest.md b/docs/Models/Requests/VaultCreateCallbackStateRequest.md new file mode 100644 index 00000000..f822028c --- /dev/null +++ b/docs/Models/Requests/VaultCreateCallbackStateRequest.md @@ -0,0 +1,12 @@ +# VaultCreateCallbackStateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | +| `ServiceId` | *string* | :heavy_check_mark: | Service ID of the resource to return | pipedrive | +| `UnifiedApi` | *string* | :heavy_check_mark: | Unified API | crm | +| `CreateCallbackState` | [CreateCallbackState](../../Models/Components/CreateCallbackState.md) | :heavy_check_mark: | Callback state data | | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/VaultCreateCallbackStateResponse.md b/docs/Models/Requests/VaultCreateCallbackStateResponse.md new file mode 100644 index 00000000..7004732d --- /dev/null +++ b/docs/Models/Requests/VaultCreateCallbackStateResponse.md @@ -0,0 +1,10 @@ +# VaultCreateCallbackStateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateCallbackStateResponse` | [CreateCallbackStateResponse](../../Models/Components/CreateCallbackStateResponse.md) | :heavy_minus_sign: | Callback state created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultCustomFieldsAllRequest.md b/docs/Models/Requests/VaultCustomFieldsAllRequest.md new file mode 100644 index 00000000..671975f6 --- /dev/null +++ b/docs/Models/Requests/VaultCustomFieldsAllRequest.md @@ -0,0 +1,13 @@ +# VaultCustomFieldsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `UnifiedApi` | *string* | :heavy_check_mark: | Unified API | crm | +| `ServiceId` | *string* | :heavy_check_mark: | Service ID of the resource to return | pipedrive | +| `Resource` | *string* | :heavy_check_mark: | Name of the resource (plural) | leads | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ResourceId` | *string* | :heavy_minus_sign: | This is the id of the resource you want to fetch when listing custom fields. For example, if you want to fetch custom fields for a specific contact, you would use the contact id. | 1234 | \ No newline at end of file diff --git a/docs/Models/Requests/VaultCustomFieldsAllResponse.md b/docs/Models/Requests/VaultCustomFieldsAllResponse.md new file mode 100644 index 00000000..0c671519 --- /dev/null +++ b/docs/Models/Requests/VaultCustomFieldsAllResponse.md @@ -0,0 +1,10 @@ +# VaultCustomFieldsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCustomFieldsResponse` | [GetCustomFieldsResponse](../../Models/Components/GetCustomFieldsResponse.md) | :heavy_minus_sign: | Custom mapping | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultCustomMappingsAllRequest.md b/docs/Models/Requests/VaultCustomMappingsAllRequest.md new file mode 100644 index 00000000..8c4f9bc6 --- /dev/null +++ b/docs/Models/Requests/VaultCustomMappingsAllRequest.md @@ -0,0 +1,11 @@ +# VaultCustomMappingsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `UnifiedApi` | *string* | :heavy_check_mark: | Unified API | crm | +| `ServiceId` | *string* | :heavy_check_mark: | Service ID of the resource to return | pipedrive | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/VaultCustomMappingsAllResponse.md b/docs/Models/Requests/VaultCustomMappingsAllResponse.md new file mode 100644 index 00000000..8f457373 --- /dev/null +++ b/docs/Models/Requests/VaultCustomMappingsAllResponse.md @@ -0,0 +1,10 @@ +# VaultCustomMappingsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetCustomMappingsResponse` | [GetCustomMappingsResponse](../../Models/Components/GetCustomMappingsResponse.md) | :heavy_minus_sign: | Custom mapping | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultLogsAllRequest.md b/docs/Models/Requests/VaultLogsAllRequest.md new file mode 100644 index 00000000..a07ce91a --- /dev/null +++ b/docs/Models/Requests/VaultLogsAllRequest.md @@ -0,0 +1,12 @@ +# VaultLogsAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `Filter` | [LogsFilter](../../Models/Components/LogsFilter.md) | :heavy_minus_sign: | Filter results | | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | \ No newline at end of file diff --git a/docs/Models/Requests/VaultLogsAllResponse.md b/docs/Models/Requests/VaultLogsAllResponse.md new file mode 100644 index 00000000..5e869f71 --- /dev/null +++ b/docs/Models/Requests/VaultLogsAllResponse.md @@ -0,0 +1,10 @@ +# VaultLogsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetLogsResponse` | [GetLogsResponse](../../Models/Components/GetLogsResponse.md) | :heavy_minus_sign: | Logs | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultSessionsCreateRequest.md b/docs/Models/Requests/VaultSessionsCreateRequest.md new file mode 100644 index 00000000..b5007395 --- /dev/null +++ b/docs/Models/Requests/VaultSessionsCreateRequest.md @@ -0,0 +1,10 @@ +# VaultSessionsCreateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `Session` | [Session](../../Models/Components/Session.md) | :heavy_minus_sign: | Additional redirect uri and/or consumer metadata | | \ No newline at end of file diff --git a/docs/Models/Requests/VaultSessionsCreateResponse.md b/docs/Models/Requests/VaultSessionsCreateResponse.md new file mode 100644 index 00000000..374f9ef8 --- /dev/null +++ b/docs/Models/Requests/VaultSessionsCreateResponse.md @@ -0,0 +1,10 @@ +# VaultSessionsCreateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateSessionResponse` | [CreateSessionResponse](../../Models/Components/CreateSessionResponse.md) | :heavy_minus_sign: | Session created | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/VaultValidateConnectionStateRequest.md b/docs/Models/Requests/VaultValidateConnectionStateRequest.md new file mode 100644 index 00000000..688df93c --- /dev/null +++ b/docs/Models/Requests/VaultValidateConnectionStateRequest.md @@ -0,0 +1,12 @@ +# VaultValidateConnectionStateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `ServiceId` | *string* | :heavy_check_mark: | Service ID of the resource to return | pipedrive | +| `UnifiedApi` | *string* | :heavy_check_mark: | Unified API | crm | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `RequestBody` | [VaultValidateConnectionStateRequestBody](../../Models/Requests/VaultValidateConnectionStateRequestBody.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/VaultValidateConnectionStateRequestBody.md b/docs/Models/Requests/VaultValidateConnectionStateRequestBody.md new file mode 100644 index 00000000..07254eac --- /dev/null +++ b/docs/Models/Requests/VaultValidateConnectionStateRequestBody.md @@ -0,0 +1,7 @@ +# VaultValidateConnectionStateRequestBody + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/Models/Requests/VaultValidateConnectionStateResponse.md b/docs/Models/Requests/VaultValidateConnectionStateResponse.md new file mode 100644 index 00000000..4bfb0cd4 --- /dev/null +++ b/docs/Models/Requests/VaultValidateConnectionStateResponse.md @@ -0,0 +1,10 @@ +# VaultValidateConnectionStateResponse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `ValidateConnectionStateResponse` | [ValidateConnectionStateResponse](../../Models/Components/ValidateConnectionStateResponse.md) | :heavy_minus_sign: | Connection access token refreshed | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/WebhookWebhooksAddRequest.md b/docs/Models/Requests/WebhookWebhooksAddRequest.md new file mode 100644 index 00000000..efc53750 --- /dev/null +++ b/docs/Models/Requests/WebhookWebhooksAddRequest.md @@ -0,0 +1,9 @@ +# WebhookWebhooksAddRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `CreateWebhookRequest` | [CreateWebhookRequest](../../Models/Components/CreateWebhookRequest.md) | :heavy_check_mark: | N/A | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/WebhookWebhooksAddResponse.md b/docs/Models/Requests/WebhookWebhooksAddResponse.md new file mode 100644 index 00000000..8ce4797a --- /dev/null +++ b/docs/Models/Requests/WebhookWebhooksAddResponse.md @@ -0,0 +1,10 @@ +# WebhookWebhooksAddResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `CreateWebhookResponse` | [CreateWebhookResponse](../../Models/Components/CreateWebhookResponse.md) | :heavy_minus_sign: | Webhooks | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/WebhookWebhooksAllRequest.md b/docs/Models/Requests/WebhookWebhooksAllRequest.md new file mode 100644 index 00000000..d1988a72 --- /dev/null +++ b/docs/Models/Requests/WebhookWebhooksAllRequest.md @@ -0,0 +1,10 @@ +# WebhookWebhooksAllRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | \ No newline at end of file diff --git a/docs/Models/Requests/WebhookWebhooksAllResponse.md b/docs/Models/Requests/WebhookWebhooksAllResponse.md new file mode 100644 index 00000000..63b9c5e0 --- /dev/null +++ b/docs/Models/Requests/WebhookWebhooksAllResponse.md @@ -0,0 +1,10 @@ +# WebhookWebhooksAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetWebhooksResponse` | [GetWebhooksResponse](../../Models/Components/GetWebhooksResponse.md) | :heavy_minus_sign: | Webhooks | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/WebhookWebhooksDeleteRequest.md b/docs/Models/Requests/WebhookWebhooksDeleteRequest.md new file mode 100644 index 00000000..3eea13a4 --- /dev/null +++ b/docs/Models/Requests/WebhookWebhooksDeleteRequest.md @@ -0,0 +1,9 @@ +# WebhookWebhooksDeleteRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | JWT Webhook token that represents the unifiedApi and applicationId associated to the event source. | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/WebhookWebhooksDeleteResponse.md b/docs/Models/Requests/WebhookWebhooksDeleteResponse.md new file mode 100644 index 00000000..f02ba721 --- /dev/null +++ b/docs/Models/Requests/WebhookWebhooksDeleteResponse.md @@ -0,0 +1,10 @@ +# WebhookWebhooksDeleteResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `DeleteWebhookResponse` | [DeleteWebhookResponse](../../Models/Components/DeleteWebhookResponse.md) | :heavy_minus_sign: | Webhooks | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/WebhookWebhooksOneRequest.md b/docs/Models/Requests/WebhookWebhooksOneRequest.md new file mode 100644 index 00000000..ef74f4eb --- /dev/null +++ b/docs/Models/Requests/WebhookWebhooksOneRequest.md @@ -0,0 +1,9 @@ +# WebhookWebhooksOneRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | JWT Webhook token that represents the unifiedApi and applicationId associated to the event source. | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/WebhookWebhooksOneResponse.md b/docs/Models/Requests/WebhookWebhooksOneResponse.md new file mode 100644 index 00000000..5569ea6a --- /dev/null +++ b/docs/Models/Requests/WebhookWebhooksOneResponse.md @@ -0,0 +1,10 @@ +# WebhookWebhooksOneResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `GetWebhookResponse` | [GetWebhookResponse](../../Models/Components/GetWebhookResponse.md) | :heavy_minus_sign: | Webhooks | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/Models/Requests/WebhookWebhooksUpdateRequest.md b/docs/Models/Requests/WebhookWebhooksUpdateRequest.md new file mode 100644 index 00000000..58161896 --- /dev/null +++ b/docs/Models/Requests/WebhookWebhooksUpdateRequest.md @@ -0,0 +1,10 @@ +# WebhookWebhooksUpdateRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | JWT Webhook token that represents the unifiedApi and applicationId associated to the event source. | | +| `UpdateWebhookRequest` | [UpdateWebhookRequest](../../Models/Components/UpdateWebhookRequest.md) | :heavy_check_mark: | N/A | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | \ No newline at end of file diff --git a/docs/Models/Requests/WebhookWebhooksUpdateResponse.md b/docs/Models/Requests/WebhookWebhooksUpdateResponse.md new file mode 100644 index 00000000..59fa3577 --- /dev/null +++ b/docs/Models/Requests/WebhookWebhooksUpdateResponse.md @@ -0,0 +1,10 @@ +# WebhookWebhooksUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `HttpMeta` | [HTTPMetadata](../../Models/Components/HTTPMetadata.md) | :heavy_check_mark: | N/A | +| `UpdateWebhookResponse` | [UpdateWebhookResponse](../../Models/Components/UpdateWebhookResponse.md) | :heavy_minus_sign: | Webhooks | +| `UnexpectedErrorResponse` | [UnexpectedErrorResponse](../../Models/Components/UnexpectedErrorResponse.md) | :heavy_minus_sign: | Unexpected error | \ No newline at end of file diff --git a/docs/sdks/accounting/README.md b/docs/sdks/accounting/README.md new file mode 100644 index 00000000..ba87498c --- /dev/null +++ b/docs/sdks/accounting/README.md @@ -0,0 +1,6 @@ +# Accounting +(*Accounting*) + +## Overview + +### Available Operations diff --git a/docs/sdks/activities/README.md b/docs/sdks/activities/README.md new file mode 100644 index 00000000..58c2cea8 --- /dev/null +++ b/docs/sdks/activities/README.md @@ -0,0 +1,479 @@ +# Activities +(*Crm.Activities*) + +## Overview + +### Available Operations + +* [List](#list) - List activities +* [Create](#create) - Create activity +* [Get](#get) - Get activity +* [Update](#update) - Update activity +* [Delete](#delete) - Delete activity + +## List + +List activities + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmActivitiesAllRequest req = new CrmActivitiesAllRequest() { + ServiceId = "salesforce", + Filter = new ActivitiesFilter() { + UpdatedSince = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + }, + Sort = new ActivitiesSort() { + By = Apideck.Unify.SDK.Models.Components.ActivitiesSortBy.CreatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Crm.Activities.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `request` | [CrmActivitiesAllRequest](../../Models/Requests/CrmActivitiesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmActivitiesAllResponse](../../Models/Requests/CrmActivitiesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create activity + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmActivitiesAddRequest req = new CrmActivitiesAddRequest() { + Activity = new ActivityInput() { + ActivityDatetime = "2021-05-01T12:00:00.000Z", + DurationSeconds = 1800, + UserId = "12345", + AccountId = "12345", + ContactId = "12345", + CompanyId = "12345", + OpportunityId = "12345", + LeadId = "12345", + OwnerId = "12345", + CampaignId = "12345", + CaseId = "12345", + AssetId = "12345", + ContractId = "12345", + ProductId = "12345", + SolutionId = "12345", + CustomObjectId = "12345", + Type = Apideck.Unify.SDK.Models.Components.ActivityType.Meeting, + Title = "Meeting", + Description = "More info about the meeting", + Note = "An internal note about the meeting", + Location = "Space", + LocationAddress = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + AllDayEvent = false, + Private = true, + GroupEvent = true, + EventSubType = "debrief", + GroupEventType = "Proposed", + Child = false, + Archived = false, + Deleted = false, + ShowAs = Apideck.Unify.SDK.Models.Components.ShowAs.Busy, + Done = false, + StartDatetime = "2021-05-01T12:00:00.000Z", + EndDatetime = "2021-05-01T12:30:00.000Z", + ActivityDate = "2021-05-01", + EndDate = "2021-05-01", + Recurrent = false, + ReminderDatetime = "2021-05-01T17:00:00.000Z", + ReminderSet = false, + VideoConferenceUrl = "https://us02web.zoom.us/j/88120759396", + VideoConferenceId = "zoom:88120759396", + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateBoolean( + true + ), + }, + }, + Attendees = new List() { + new ActivityAttendeeInput() { + Name = "Elon Musk", + FirstName = "Elon", + MiddleName = "D.", + LastName = "Musk", + Prefix = "Mr.", + Suffix = "PhD", + EmailAddress = "elon@musk.com", + IsOrganizer = true, + Status = Apideck.Unify.SDK.Models.Components.ActivityAttendeeStatus.Accepted, + }, + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Activities.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `request` | [CrmActivitiesAddRequest](../../Models/Requests/CrmActivitiesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmActivitiesAddResponse](../../Models/Requests/CrmActivitiesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get activity + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmActivitiesOneRequest req = new CrmActivitiesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Crm.Activities.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `request` | [CrmActivitiesOneRequest](../../Models/Requests/CrmActivitiesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmActivitiesOneResponse](../../Models/Requests/CrmActivitiesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update activity + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmActivitiesUpdateRequest req = new CrmActivitiesUpdateRequest() { + Id = "", + Activity = new ActivityInput() { + ActivityDatetime = "2021-05-01T12:00:00.000Z", + DurationSeconds = 1800, + UserId = "12345", + AccountId = "12345", + ContactId = "12345", + CompanyId = "12345", + OpportunityId = "12345", + LeadId = "12345", + OwnerId = "12345", + CampaignId = "12345", + CaseId = "12345", + AssetId = "12345", + ContractId = "12345", + ProductId = "12345", + SolutionId = "12345", + CustomObjectId = "12345", + Type = Apideck.Unify.SDK.Models.Components.ActivityType.Meeting, + Title = "Meeting", + Description = "More info about the meeting", + Note = "An internal note about the meeting", + Location = "Space", + LocationAddress = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + AllDayEvent = false, + Private = true, + GroupEvent = true, + EventSubType = "debrief", + GroupEventType = "Proposed", + Child = false, + Archived = false, + Deleted = false, + ShowAs = Apideck.Unify.SDK.Models.Components.ShowAs.Busy, + Done = false, + StartDatetime = "2021-05-01T12:00:00.000Z", + EndDatetime = "2021-05-01T12:30:00.000Z", + ActivityDate = "2021-05-01", + EndDate = "2021-05-01", + Recurrent = false, + ReminderDatetime = "2021-05-01T17:00:00.000Z", + ReminderSet = false, + VideoConferenceUrl = "https://us02web.zoom.us/j/88120759396", + VideoConferenceId = "zoom:88120759396", + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateArrayOf6( + new List() { + new Six() {}, + } + ), + }, + }, + Attendees = new List() { + new ActivityAttendeeInput() { + Name = "Elon Musk", + FirstName = "Elon", + MiddleName = "D.", + LastName = "Musk", + Prefix = "Mr.", + Suffix = "PhD", + EmailAddress = "elon@musk.com", + IsOrganizer = true, + Status = Apideck.Unify.SDK.Models.Components.ActivityAttendeeStatus.Accepted, + }, + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Activities.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `request` | [CrmActivitiesUpdateRequest](../../Models/Requests/CrmActivitiesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmActivitiesUpdateResponse](../../Models/Requests/CrmActivitiesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete activity + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmActivitiesDeleteRequest req = new CrmActivitiesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Activities.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `request` | [CrmActivitiesDeleteRequest](../../Models/Requests/CrmActivitiesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmActivitiesDeleteResponse](../../Models/Requests/CrmActivitiesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/apideck/README.md b/docs/sdks/apideck/README.md new file mode 100644 index 00000000..c18f3119 --- /dev/null +++ b/docs/sdks/apideck/README.md @@ -0,0 +1,10 @@ +# Apideck SDK + +## Overview + +Apideck: The Apideck OpenAPI Spec: SDK Optimized + +Apideck Developer Docs + + +### Available Operations diff --git a/docs/sdks/apideckcompanies/README.md b/docs/sdks/apideckcompanies/README.md new file mode 100644 index 00000000..92e6f829 --- /dev/null +++ b/docs/sdks/apideckcompanies/README.md @@ -0,0 +1,410 @@ +# ApideckCompanies +(*Hris.Companies*) + +## Overview + +### Available Operations + +* [List](#list) - List Companies +* [Create](#create) - Create Company +* [Get](#get) - Get Company +* [Update](#update) - Update Company +* [Delete](#delete) - Delete Company + +## List + +List Companies + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using System.Collections.Generic; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisCompaniesAllRequest req = new HrisCompaniesAllRequest() { + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Hris.Companies.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `request` | [HrisCompaniesAllRequest](../../Models/Requests/HrisCompaniesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisCompaniesAllResponse](../../Models/Requests/HrisCompaniesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Company + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisCompaniesAddRequest req = new HrisCompaniesAddRequest() { + HrisCompany = new HrisCompanyInput() { + LegalName = "SpaceX", + DisplayName = "SpaceX", + Subdomain = "company", + Status = Apideck.Unify.SDK.Models.Components.HrisCompanyStatus.Active, + CompanyNumber = "123456-AB", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + Websites = new List() { + new Website() { + Id = "12345", + Url = "http://example.com", + Type = Apideck.Unify.SDK.Models.Components.WebsiteType.Primary, + }, + }, + DebtorId = "12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Hris.Companies.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `request` | [HrisCompaniesAddRequest](../../Models/Requests/HrisCompaniesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisCompaniesAddResponse](../../Models/Requests/HrisCompaniesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Company + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisCompaniesOneRequest req = new HrisCompaniesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Hris.Companies.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `request` | [HrisCompaniesOneRequest](../../Models/Requests/HrisCompaniesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisCompaniesOneResponse](../../Models/Requests/HrisCompaniesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Company + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisCompaniesUpdateRequest req = new HrisCompaniesUpdateRequest() { + Id = "", + HrisCompany = new HrisCompanyInput() { + LegalName = "SpaceX", + DisplayName = "SpaceX", + Subdomain = "company", + Status = Apideck.Unify.SDK.Models.Components.HrisCompanyStatus.Active, + CompanyNumber = "123456-AB", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + Websites = new List() { + new Website() { + Id = "12345", + Url = "http://example.com", + Type = Apideck.Unify.SDK.Models.Components.WebsiteType.Primary, + }, + }, + DebtorId = "12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Hris.Companies.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `request` | [HrisCompaniesUpdateRequest](../../Models/Requests/HrisCompaniesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisCompaniesUpdateResponse](../../Models/Requests/HrisCompaniesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Company + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisCompaniesDeleteRequest req = new HrisCompaniesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Hris.Companies.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `request` | [HrisCompaniesDeleteRequest](../../Models/Requests/HrisCompaniesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisCompaniesDeleteResponse](../../Models/Requests/HrisCompaniesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/apideckcustomers/README.md b/docs/sdks/apideckcustomers/README.md new file mode 100644 index 00000000..7f75da14 --- /dev/null +++ b/docs/sdks/apideckcustomers/README.md @@ -0,0 +1,114 @@ +# ApideckCustomers +(*Ecommerce.Customers*) + +## Overview + +### Available Operations + +* [List](#list) - List Customers +* [Get](#get) - Get Customer + +## List + +List Customers + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +EcommerceCustomersAllRequest req = new EcommerceCustomersAllRequest() { + ServiceId = "salesforce", + Filter = new EcommerceCustomersFilter() { + Email = "elon@musk.com", + PhoneNumber = "111-111-1111", + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Ecommerce.Customers.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [EcommerceCustomersAllRequest](../../Models/Requests/EcommerceCustomersAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[EcommerceCustomersAllResponse](../../Models/Requests/EcommerceCustomersAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Customer + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +EcommerceCustomersOneRequest req = new EcommerceCustomersOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Ecommerce.Customers.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [EcommerceCustomersOneRequest](../../Models/Requests/EcommerceCustomersOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[EcommerceCustomersOneResponse](../../Models/Requests/EcommerceCustomersOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/apideckdepartments/README.md b/docs/sdks/apideckdepartments/README.md new file mode 100644 index 00000000..8b7414a6 --- /dev/null +++ b/docs/sdks/apideckdepartments/README.md @@ -0,0 +1,298 @@ +# ApideckDepartments +(*Hris.Departments*) + +## Overview + +### Available Operations + +* [List](#list) - List Departments +* [Create](#create) - Create Department +* [Get](#get) - Get Department +* [Update](#update) - Update Department +* [Delete](#delete) - Delete Department + +## List + +List Departments + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using System.Collections.Generic; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisDepartmentsAllRequest req = new HrisDepartmentsAllRequest() { + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Hris.Departments.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [HrisDepartmentsAllRequest](../../Models/Requests/HrisDepartmentsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisDepartmentsAllResponse](../../Models/Requests/HrisDepartmentsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Department + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisDepartmentsAddRequest req = new HrisDepartmentsAddRequest() { + Department = new DepartmentInput() { + Name = "R&D", + Code = "2", + Description = "R&D", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Hris.Departments.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [HrisDepartmentsAddRequest](../../Models/Requests/HrisDepartmentsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisDepartmentsAddResponse](../../Models/Requests/HrisDepartmentsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Department + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisDepartmentsOneRequest req = new HrisDepartmentsOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Hris.Departments.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [HrisDepartmentsOneRequest](../../Models/Requests/HrisDepartmentsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisDepartmentsOneResponse](../../Models/Requests/HrisDepartmentsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Department + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisDepartmentsUpdateRequest req = new HrisDepartmentsUpdateRequest() { + Id = "", + Department = new DepartmentInput() { + Name = "R&D", + Code = "2", + Description = "R&D", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Hris.Departments.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [HrisDepartmentsUpdateRequest](../../Models/Requests/HrisDepartmentsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisDepartmentsUpdateResponse](../../Models/Requests/HrisDepartmentsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Department + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisDepartmentsDeleteRequest req = new HrisDepartmentsDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Hris.Departments.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [HrisDepartmentsDeleteRequest](../../Models/Requests/HrisDepartmentsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisDepartmentsDeleteResponse](../../Models/Requests/HrisDepartmentsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/apiresourcecoverage/README.md b/docs/sdks/apiresourcecoverage/README.md new file mode 100644 index 00000000..8c87e329 --- /dev/null +++ b/docs/sdks/apiresourcecoverage/README.md @@ -0,0 +1,55 @@ +# ApiResourceCoverage +(*Connector.ApiResourceCoverage*) + +## Overview + +### Available Operations + +* [Get](#get) - Get API Resource Coverage + +## Get + +Get API Resource Coverage + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Connector.ApiResourceCoverage.GetAsync( + id: "", + resourceId: "", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ResourceId` | *string* | :heavy_check_mark: | ID of the resource you are acting upon. | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[ConnectorApiResourceCoverageOneResponse](../../Models/Requests/ConnectorApiResourceCoverageOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/apiresources/README.md b/docs/sdks/apiresources/README.md new file mode 100644 index 00000000..17cea868 --- /dev/null +++ b/docs/sdks/apiresources/README.md @@ -0,0 +1,55 @@ +# ApiResources +(*Connector.ApiResources*) + +## Overview + +### Available Operations + +* [Get](#get) - Get API Resource + +## Get + +Get API Resource + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Connector.ApiResources.GetAsync( + id: "", + resourceId: "", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ResourceId` | *string* | :heavy_check_mark: | ID of the resource you are acting upon. | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[ConnectorApiResourcesOneResponse](../../Models/Requests/ConnectorApiResourcesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/apis/README.md b/docs/sdks/apis/README.md new file mode 100644 index 00000000..27edf667 --- /dev/null +++ b/docs/sdks/apis/README.md @@ -0,0 +1,105 @@ +# Apis +(*Connector.Apis*) + +## Overview + +### Available Operations + +* [List](#list) - List APIs +* [Get](#get) - Get API + +## List + +List APIs + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Connector.Apis.ListAsync( + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX", + cursor: "", + limit: 20, + filter: new ApisFilter() { + Status = Apideck.Unify.SDK.Models.Components.ApiStatus.Beta, + } +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [ApisFilter](../../Models/Components/ApisFilter.md) | :heavy_minus_sign: | Apply filters | {
"status": "beta"
} | + +### Response + +**[ConnectorApisAllResponse](../../Models/Requests/ConnectorApisAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get API + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Connector.Apis.GetAsync( + id: "", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[ConnectorApisOneResponse](../../Models/Requests/ConnectorApisOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/applicants/README.md b/docs/sdks/applicants/README.md new file mode 100644 index 00000000..517334a8 --- /dev/null +++ b/docs/sdks/applicants/README.md @@ -0,0 +1,511 @@ +# Applicants +(*Ats.Applicants*) + +## Overview + +### Available Operations + +* [List](#list) - List Applicants +* [Create](#create) - Create Applicant +* [Get](#get) - Get Applicant +* [Update](#update) - Update Applicant +* [Delete](#delete) - Delete Applicant + +## List + +List Applicants + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AtsApplicantsAllRequest req = new AtsApplicantsAllRequest() { + ServiceId = "salesforce", + Filter = new ApplicantsFilter() { + JobId = "1234", + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Ats.Applicants.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `request` | [AtsApplicantsAllRequest](../../Models/Requests/AtsApplicantsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AtsApplicantsAllResponse](../../Models/Requests/AtsApplicantsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Applicant + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AtsApplicantsAddRequest req = new AtsApplicantsAddRequest() { + Applicant = new ApplicantInput() { + Name = "Elon Musk", + FirstName = "Elon", + LastName = "Musk", + MiddleName = "D.", + Initials = "EM", + Birthday = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")), + CoverLetter = "I submit this application to express my sincere interest in the API developer position. In the previous role, I was responsible for leadership and ...", + PhotoUrl = "https://unavatar.io/elon-musk", + Headline = "PepsiCo, Inc, Central Perk", + Title = "CEO", + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateBoolean( + true + ), + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + Websites = new List() { + new Websites() { + Id = "12345", + Url = "http://example.com", + Type = Apideck.Unify.SDK.Models.Components.ApplicantType.Primary, + }, + }, + SocialLinks = new List() { + new SocialLinks() { + Id = "12345", + Url = "https://www.twitter.com/apideck", + Type = "twitter", + }, + }, + StageId = "12345", + RecruiterId = "12345", + CoordinatorId = "12345", + ApplicationIds = new List() { + "a0d636c6-43b3-4bde-8c70-85b707d992f4", + "a98lfd96-43b3-4bde-8c70-85b707d992e6", + }, + Applications = new List() { + "a0d636c6-43b3-4bde-8c70-85b707d992f4", + "a98lfd96-43b3-4bde-8c70-85b707d992e6", + }, + Followers = new List() { + "a0d636c6-43b3-4bde-8c70-85b707d992f4", + "a98lfd96-43b3-4bde-8c70-85b707d992e6", + }, + Sources = new List() { + "Job site", + }, + Confidential = false, + Anonymized = true, + Tags = new List() { + "New", + }, + Archived = false, + OwnerId = "54321", + RecordUrl = "https://app.intercom.io/contacts/12345", + Deleted = true, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Ats.Applicants.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `request` | [AtsApplicantsAddRequest](../../Models/Requests/AtsApplicantsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AtsApplicantsAddResponse](../../Models/Requests/AtsApplicantsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Applicant + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AtsApplicantsOneRequest req = new AtsApplicantsOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Ats.Applicants.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `request` | [AtsApplicantsOneRequest](../../Models/Requests/AtsApplicantsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AtsApplicantsOneResponse](../../Models/Requests/AtsApplicantsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Applicant + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AtsApplicantsUpdateRequest req = new AtsApplicantsUpdateRequest() { + Id = "", + Applicant = new ApplicantInput() { + Name = "Elon Musk", + FirstName = "Elon", + LastName = "Musk", + MiddleName = "D.", + Initials = "EM", + Birthday = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")), + CoverLetter = "I submit this application to express my sincere interest in the API developer position. In the previous role, I was responsible for leadership and ...", + PhotoUrl = "https://unavatar.io/elon-musk", + Headline = "PepsiCo, Inc, Central Perk", + Title = "CEO", + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateArrayOf6( + new List() { + new Six() {}, + } + ), + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + Websites = new List() { + new Websites() { + Id = "12345", + Url = "http://example.com", + Type = Apideck.Unify.SDK.Models.Components.ApplicantType.Primary, + }, + }, + SocialLinks = new List() { + new SocialLinks() { + Id = "12345", + Url = "https://www.twitter.com/apideck", + Type = "twitter", + }, + }, + StageId = "12345", + RecruiterId = "12345", + CoordinatorId = "12345", + ApplicationIds = new List() { + "a0d636c6-43b3-4bde-8c70-85b707d992f4", + "a98lfd96-43b3-4bde-8c70-85b707d992e6", + }, + Applications = new List() { + "a0d636c6-43b3-4bde-8c70-85b707d992f4", + "a98lfd96-43b3-4bde-8c70-85b707d992e6", + }, + Followers = new List() { + "a0d636c6-43b3-4bde-8c70-85b707d992f4", + "a98lfd96-43b3-4bde-8c70-85b707d992e6", + }, + Sources = new List() { + "Job site", + }, + Confidential = false, + Anonymized = true, + Tags = new List() { + "New", + }, + Archived = false, + OwnerId = "54321", + RecordUrl = "https://app.intercom.io/contacts/12345", + Deleted = true, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Ats.Applicants.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `request` | [AtsApplicantsUpdateRequest](../../Models/Requests/AtsApplicantsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AtsApplicantsUpdateResponse](../../Models/Requests/AtsApplicantsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Applicant + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AtsApplicantsDeleteRequest req = new AtsApplicantsDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Ats.Applicants.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `request` | [AtsApplicantsDeleteRequest](../../Models/Requests/AtsApplicantsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AtsApplicantsDeleteResponse](../../Models/Requests/AtsApplicantsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/applications/README.md b/docs/sdks/applications/README.md new file mode 100644 index 00000000..6a9fc28d --- /dev/null +++ b/docs/sdks/applications/README.md @@ -0,0 +1,304 @@ +# Applications +(*Ats.Applications*) + +## Overview + +### Available Operations + +* [List](#list) - List Applications +* [Create](#create) - Create Application +* [Get](#get) - Get Application +* [Update](#update) - Update Application +* [Delete](#delete) - Delete Application + +## List + +List Applications + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using System.Collections.Generic; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AtsApplicationsAllRequest req = new AtsApplicationsAllRequest() { + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, +}; + +var res = await sdk.Ats.Applications.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [AtsApplicationsAllRequest](../../Models/Requests/AtsApplicationsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AtsApplicationsAllResponse](../../Models/Requests/AtsApplicationsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Application + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AtsApplicationsAddRequest req = new AtsApplicationsAddRequest() { + Application = new ApplicationInput() { + ApplicantId = "12345", + JobId = "12345", + Status = Apideck.Unify.SDK.Models.Components.ApplicationStatus.Open, + Stage = new Stage() { + Id = "12345", + Name = "12345", + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Ats.Applications.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [AtsApplicationsAddRequest](../../Models/Requests/AtsApplicationsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AtsApplicationsAddResponse](../../Models/Requests/AtsApplicationsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Application + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AtsApplicationsOneRequest req = new AtsApplicationsOneRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Ats.Applications.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [AtsApplicationsOneRequest](../../Models/Requests/AtsApplicationsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AtsApplicationsOneResponse](../../Models/Requests/AtsApplicationsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Application + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AtsApplicationsUpdateRequest req = new AtsApplicationsUpdateRequest() { + Id = "", + Application = new ApplicationInput() { + ApplicantId = "12345", + JobId = "12345", + Status = Apideck.Unify.SDK.Models.Components.ApplicationStatus.Open, + Stage = new Stage() { + Id = "12345", + Name = "12345", + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Ats.Applications.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AtsApplicationsUpdateRequest](../../Models/Requests/AtsApplicationsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AtsApplicationsUpdateResponse](../../Models/Requests/AtsApplicationsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Application + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AtsApplicationsDeleteRequest req = new AtsApplicationsDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Ats.Applications.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AtsApplicationsDeleteRequest](../../Models/Requests/AtsApplicationsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AtsApplicationsDeleteResponse](../../Models/Requests/AtsApplicationsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/ats/README.md b/docs/sdks/ats/README.md new file mode 100644 index 00000000..721994cc --- /dev/null +++ b/docs/sdks/ats/README.md @@ -0,0 +1,6 @@ +# Ats +(*Ats*) + +## Overview + +### Available Operations diff --git a/docs/sdks/attachments/README.md b/docs/sdks/attachments/README.md new file mode 100644 index 00000000..ecfb096f --- /dev/null +++ b/docs/sdks/attachments/README.md @@ -0,0 +1,213 @@ +# Attachments +(*Accounting.Attachments*) + +## Overview + +### Available Operations + +* [List](#list) - List Attachments +* [Get](#get) - Get Attachment +* [Delete](#delete) - Delete Attachment +* [Download](#download) - Download Attachment + +## List + +List Attachments + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingAttachmentsAllRequest req = new AccountingAttachmentsAllRequest() { + ReferenceType = Apideck.Unify.SDK.Models.Components.AttachmentReferenceType.Invoice, + ReferenceId = "12345", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Attachments.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingAttachmentsAllRequest](../../Models/Requests/AccountingAttachmentsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingAttachmentsAllResponse](../../Models/Requests/AccountingAttachmentsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Attachment + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingAttachmentsOneRequest req = new AccountingAttachmentsOneRequest() { + ReferenceType = Apideck.Unify.SDK.Models.Components.AttachmentReferenceType.Invoice, + ReferenceId = "12345", + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Attachments.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingAttachmentsOneRequest](../../Models/Requests/AccountingAttachmentsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingAttachmentsOneResponse](../../Models/Requests/AccountingAttachmentsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Attachment + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingAttachmentsDeleteRequest req = new AccountingAttachmentsDeleteRequest() { + ReferenceType = Apideck.Unify.SDK.Models.Components.AttachmentReferenceType.Invoice, + ReferenceId = "12345", + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Attachments.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [AccountingAttachmentsDeleteRequest](../../Models/Requests/AccountingAttachmentsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingAttachmentsDeleteResponse](../../Models/Requests/AccountingAttachmentsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Download + +Download Attachment + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingAttachmentsDownloadRequest req = new AccountingAttachmentsDownloadRequest() { + ReferenceType = Apideck.Unify.SDK.Models.Components.AttachmentReferenceType.Invoice, + ReferenceId = "12345", + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Attachments.DownloadAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `request` | [AccountingAttachmentsDownloadRequest](../../Models/Requests/AccountingAttachmentsDownloadRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingAttachmentsDownloadResponse](../../Models/Requests/AccountingAttachmentsDownloadResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/balancesheet/README.md b/docs/sdks/balancesheet/README.md new file mode 100644 index 00000000..ebd6ac23 --- /dev/null +++ b/docs/sdks/balancesheet/README.md @@ -0,0 +1,65 @@ +# BalanceSheet +(*Accounting.BalanceSheet*) + +## Overview + +### Available Operations + +* [Get](#get) - Get BalanceSheet + +## Get + +Get BalanceSheet + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using System.Collections.Generic; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingBalanceSheetOneRequest req = new AccountingBalanceSheetOneRequest() { + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Filter = new BalanceSheetFilter() { + StartDate = "2021-01-01", + EndDate = "2021-12-31", + PeriodCount = 3, + PeriodType = Apideck.Unify.SDK.Models.Components.PeriodType.Month, + }, +}; + +var res = await sdk.Accounting.BalanceSheet.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingBalanceSheetOneRequest](../../Models/Requests/AccountingBalanceSheetOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingBalanceSheetOneResponse](../../Models/Requests/AccountingBalanceSheetOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/billpayments/README.md b/docs/sdks/billpayments/README.md new file mode 100644 index 00000000..d479bb21 --- /dev/null +++ b/docs/sdks/billpayments/README.md @@ -0,0 +1,451 @@ +# BillPayments +(*Accounting.BillPayments*) + +## Overview + +### Available Operations + +* [List](#list) - List Bill Payments +* [Create](#create) - Create Bill Payment +* [Get](#get) - Get Bill Payment +* [Update](#update) - Update Bill Payment +* [Delete](#delete) - Delete Bill Payment + +## List + +List Bill Payments + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingBillPaymentsAllRequest req = new AccountingBillPaymentsAllRequest() { + ServiceId = "salesforce", + Filter = new PaymentsFilter() { + UpdatedSince = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + }, + Sort = new PaymentsSort() { + By = Apideck.Unify.SDK.Models.Components.PaymentsSortBy.UpdatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.BillPayments.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingBillPaymentsAllRequest](../../Models/Requests/AccountingBillPaymentsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingBillPaymentsAllResponse](../../Models/Requests/AccountingBillPaymentsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Bill Payment + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingBillPaymentsAddRequest req = new AccountingBillPaymentsAddRequest() { + BillPayment = new BillPaymentInput() { + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CurrencyRate = 0.69D, + TotalAmount = 49.99D, + Reference = "123456", + PaymentMethod = "cash", + PaymentMethodReference = "123456", + PaymentMethodId = "12345", + Account = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + TransactionDate = System.DateTime.Parse("2021-05-01T12:00:00.000Z"), + Supplier = new LinkedSupplierInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Address = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + CompanyId = "12345", + Reconciled = true, + Status = Apideck.Unify.SDK.Models.Components.PaymentStatus.Authorised, + Type = Apideck.Unify.SDK.Models.Components.BillPaymentType.AccountsPayable, + Allocations = new List() { + new BillPaymentAllocations() { + Id = "12345", + Type = Apideck.Unify.SDK.Models.Components.BillPaymentAllocationType.Bill, + Amount = 49.99D, + AllocationId = "123456", + }, + }, + Note = "Some notes about this transaction", + Number = "123456", + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateBoolean( + true + ), + }, + }, + RowVersion = "1-12345", + DisplayId = "123456", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.BillPayments.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingBillPaymentsAddRequest](../../Models/Requests/AccountingBillPaymentsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingBillPaymentsAddResponse](../../Models/Requests/AccountingBillPaymentsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Bill Payment + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingBillPaymentsOneRequest req = new AccountingBillPaymentsOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.BillPayments.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingBillPaymentsOneRequest](../../Models/Requests/AccountingBillPaymentsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingBillPaymentsOneResponse](../../Models/Requests/AccountingBillPaymentsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Bill Payment + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingBillPaymentsUpdateRequest req = new AccountingBillPaymentsUpdateRequest() { + Id = "", + BillPayment = new BillPaymentInput() { + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CurrencyRate = 0.69D, + TotalAmount = 49.99D, + Reference = "123456", + PaymentMethod = "cash", + PaymentMethodReference = "123456", + PaymentMethodId = "12345", + Account = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + TransactionDate = System.DateTime.Parse("2021-05-01T12:00:00.000Z"), + Supplier = new LinkedSupplierInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Address = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + CompanyId = "12345", + Reconciled = true, + Status = Apideck.Unify.SDK.Models.Components.PaymentStatus.Authorised, + Type = Apideck.Unify.SDK.Models.Components.BillPaymentType.AccountsPayable, + Allocations = new List() { + new BillPaymentAllocations() { + Id = "12345", + Type = Apideck.Unify.SDK.Models.Components.BillPaymentAllocationType.Bill, + Amount = 49.99D, + AllocationId = "123456", + }, + }, + Note = "Some notes about this transaction", + Number = "123456", + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateArrayOf6( + new List() { + new Six() {}, + } + ), + }, + }, + RowVersion = "1-12345", + DisplayId = "123456", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.BillPayments.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `request` | [AccountingBillPaymentsUpdateRequest](../../Models/Requests/AccountingBillPaymentsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingBillPaymentsUpdateResponse](../../Models/Requests/AccountingBillPaymentsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Bill Payment + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingBillPaymentsDeleteRequest req = new AccountingBillPaymentsDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.BillPayments.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `request` | [AccountingBillPaymentsDeleteRequest](../../Models/Requests/AccountingBillPaymentsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingBillPaymentsDeleteResponse](../../Models/Requests/AccountingBillPaymentsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/bills/README.md b/docs/sdks/bills/README.md new file mode 100644 index 00000000..015e006f --- /dev/null +++ b/docs/sdks/bills/README.md @@ -0,0 +1,539 @@ +# Bills +(*Accounting.Bills*) + +## Overview + +### Available Operations + +* [List](#list) - List Bills +* [Create](#create) - Create Bill +* [Get](#get) - Get Bill +* [Update](#update) - Update Bill +* [Delete](#delete) - Delete Bill + +## List + +List Bills + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingBillsAllRequest req = new AccountingBillsAllRequest() { + ServiceId = "salesforce", + Filter = new BillsFilter() { + UpdatedSince = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + }, + Sort = new BillsSort() { + By = Apideck.Unify.SDK.Models.Components.By.UpdatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Bills.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [AccountingBillsAllRequest](../../Models/Requests/AccountingBillsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingBillsAllResponse](../../Models/Requests/AccountingBillsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Bill + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingBillsAddRequest req = new AccountingBillsAddRequest() { + Bill = new BillInput() { + BillNumber = "10001", + Supplier = new LinkedSupplierInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Address = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + CompanyId = "12345", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CurrencyRate = 0.69D, + TaxInclusive = true, + BillDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-09-30")), + DueDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-10-30")), + PaidDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-10-30")), + PoNumber = "90000117", + Reference = "123456", + LineItems = new List() { + new BillLineItemInput() { + RowId = "12345", + Code = "120-C", + LineNumber = 1, + Description = "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", + Type = Apideck.Unify.SDK.Models.Components.BillLineItemType.ExpenseAccount, + TaxAmount = 27500D, + TotalAmount = 27500D, + Quantity = 1D, + UnitPrice = 27500.5D, + UnitOfMeasure = "pc.", + DiscountPercentage = 0.01D, + DiscountAmount = 19.99D, + LocationId = "1234", + DepartmentId = "1234", + Item = new LinkedInvoiceItem() { + Id = "12344", + Code = "120-C", + Name = "Model Y", + }, + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + RowVersion = "1-12345", + }, + }, + Terms = "Net 30 days", + Balance = 27500D, + Deposit = 0D, + SubTotal = 27500D, + TotalTax = 2500D, + Total = 27500D, + TaxCode = "1234", + Notes = "Some notes about this bill.", + Status = Apideck.Unify.SDK.Models.Components.BillStatus.Draft, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + PaymentMethod = "cash", + Channel = "email", + Language = "EN", + AccountingByRow = false, + BankAccount = new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + DiscountPercentage = 5.5D, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + AccountingPeriod = "01-24", + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Bills.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [AccountingBillsAddRequest](../../Models/Requests/AccountingBillsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingBillsAddResponse](../../Models/Requests/AccountingBillsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Bill + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingBillsOneRequest req = new AccountingBillsOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Bills.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [AccountingBillsOneRequest](../../Models/Requests/AccountingBillsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingBillsOneResponse](../../Models/Requests/AccountingBillsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Bill + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingBillsUpdateRequest req = new AccountingBillsUpdateRequest() { + Id = "", + Bill = new BillInput() { + BillNumber = "10001", + Supplier = new LinkedSupplierInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Address = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + CompanyId = "12345", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CurrencyRate = 0.69D, + TaxInclusive = true, + BillDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-09-30")), + DueDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-10-30")), + PaidDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-10-30")), + PoNumber = "90000117", + Reference = "123456", + LineItems = new List() { + new BillLineItemInput() { + RowId = "12345", + Code = "120-C", + LineNumber = 1, + Description = "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", + Type = Apideck.Unify.SDK.Models.Components.BillLineItemType.ExpenseAccount, + TaxAmount = 27500D, + TotalAmount = 27500D, + Quantity = 1D, + UnitPrice = 27500.5D, + UnitOfMeasure = "pc.", + DiscountPercentage = 0.01D, + DiscountAmount = 19.99D, + LocationId = "1234", + DepartmentId = "1234", + Item = new LinkedInvoiceItem() { + Id = "12344", + Code = "120-C", + Name = "Model Y", + }, + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + RowVersion = "1-12345", + }, + }, + Terms = "Net 30 days", + Balance = 27500D, + Deposit = 0D, + SubTotal = 27500D, + TotalTax = 2500D, + Total = 27500D, + TaxCode = "1234", + Notes = "Some notes about this bill.", + Status = Apideck.Unify.SDK.Models.Components.BillStatus.Draft, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + PaymentMethod = "cash", + Channel = "email", + Language = "EN", + AccountingByRow = false, + BankAccount = new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + DiscountPercentage = 5.5D, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + AccountingPeriod = "01-24", + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Bills.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AccountingBillsUpdateRequest](../../Models/Requests/AccountingBillsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingBillsUpdateResponse](../../Models/Requests/AccountingBillsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Bill + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingBillsDeleteRequest req = new AccountingBillsDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Bills.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AccountingBillsDeleteRequest](../../Models/Requests/AccountingBillsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingBillsDeleteResponse](../../Models/Requests/AccountingBillsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/collections/README.md b/docs/sdks/collections/README.md new file mode 100644 index 00000000..b514d32b --- /dev/null +++ b/docs/sdks/collections/README.md @@ -0,0 +1,114 @@ +# Collections +(*IssueTracking.Collections*) + +## Overview + +### Available Operations + +* [List](#list) - List Collections +* [Get](#get) - Get Collection + +## List + +List Collections + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +IssueTrackingCollectionsAllRequest req = new IssueTrackingCollectionsAllRequest() { + ServiceId = "salesforce", + Sort = new CollectionsSort() { + By = Apideck.Unify.SDK.Models.Components.CollectionsSortBy.Name, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.IssueTracking.Collections.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [IssueTrackingCollectionsAllRequest](../../Models/Requests/IssueTrackingCollectionsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[IssueTrackingCollectionsAllResponse](../../Models/Requests/IssueTrackingCollectionsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Collection + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +IssueTrackingCollectionsOneRequest req = new IssueTrackingCollectionsOneRequest() { + CollectionId = "apideck-io", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.IssueTracking.Collections.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [IssueTrackingCollectionsOneRequest](../../Models/Requests/IssueTrackingCollectionsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[IssueTrackingCollectionsOneResponse](../../Models/Requests/IssueTrackingCollectionsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/collectiontags/README.md b/docs/sdks/collectiontags/README.md new file mode 100644 index 00000000..3126cd04 --- /dev/null +++ b/docs/sdks/collectiontags/README.md @@ -0,0 +1,61 @@ +# CollectionTags +(*IssueTracking.CollectionTags*) + +## Overview + +### Available Operations + +* [List](#list) - List Tags + +## List + +List Tags + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using System.Collections.Generic; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +IssueTrackingCollectionTagsAllRequest req = new IssueTrackingCollectionTagsAllRequest() { + CollectionId = "apideck-io", + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.IssueTracking.CollectionTags.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `request` | [IssueTrackingCollectionTagsAllRequest](../../Models/Requests/IssueTrackingCollectionTagsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[IssueTrackingCollectionTagsAllResponse](../../Models/Requests/IssueTrackingCollectionTagsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/collectionticketcomments/README.md b/docs/sdks/collectionticketcomments/README.md new file mode 100644 index 00000000..13cb5a3b --- /dev/null +++ b/docs/sdks/collectionticketcomments/README.md @@ -0,0 +1,308 @@ +# CollectionTicketComments +(*IssueTracking.CollectionTicketComments*) + +## Overview + +### Available Operations + +* [List](#list) - List Comments +* [Create](#create) - Create Comment +* [Get](#get) - Get Comment +* [Update](#update) - Update Comment +* [Delete](#delete) - Delete Comment + +## List + +List Comments + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +IssueTrackingCollectionTicketCommentsAllRequest req = new IssueTrackingCollectionTicketCommentsAllRequest() { + CollectionId = "apideck-io", + TicketId = "", + ServiceId = "salesforce", + Sort = new CommentsSort() { + By = Apideck.Unify.SDK.Models.Components.CommentsSortBy.CreatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.IssueTracking.CollectionTicketComments.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `request` | [IssueTrackingCollectionTicketCommentsAllRequest](../../Models/Requests/IssueTrackingCollectionTicketCommentsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[IssueTrackingCollectionTicketCommentsAllResponse](../../Models/Requests/IssueTrackingCollectionTicketCommentsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Comment + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +IssueTrackingCollectionTicketCommentsAddRequest req = new IssueTrackingCollectionTicketCommentsAddRequest() { + CollectionId = "apideck-io", + TicketId = "", + CollectionTicketComment = new CollectionTicketCommentInput() { + Body = "What internet provider do you use?", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.IssueTracking.CollectionTicketComments.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `request` | [IssueTrackingCollectionTicketCommentsAddRequest](../../Models/Requests/IssueTrackingCollectionTicketCommentsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[IssueTrackingCollectionTicketCommentsAddResponse](../../Models/Requests/IssueTrackingCollectionTicketCommentsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Comment + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +IssueTrackingCollectionTicketCommentsOneRequest req = new IssueTrackingCollectionTicketCommentsOneRequest() { + Id = "", + CollectionId = "apideck-io", + TicketId = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.IssueTracking.CollectionTicketComments.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `request` | [IssueTrackingCollectionTicketCommentsOneRequest](../../Models/Requests/IssueTrackingCollectionTicketCommentsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[IssueTrackingCollectionTicketCommentsOneResponse](../../Models/Requests/IssueTrackingCollectionTicketCommentsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Comment + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +IssueTrackingCollectionTicketCommentsUpdateRequest req = new IssueTrackingCollectionTicketCommentsUpdateRequest() { + Id = "", + CollectionId = "apideck-io", + TicketId = "", + CollectionTicketComment = new CollectionTicketCommentInput() { + Body = "What internet provider do you use?", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.IssueTracking.CollectionTicketComments.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `request` | [IssueTrackingCollectionTicketCommentsUpdateRequest](../../Models/Requests/IssueTrackingCollectionTicketCommentsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[IssueTrackingCollectionTicketCommentsUpdateResponse](../../Models/Requests/IssueTrackingCollectionTicketCommentsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Comment + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +IssueTrackingCollectionTicketCommentsDeleteRequest req = new IssueTrackingCollectionTicketCommentsDeleteRequest() { + Id = "", + CollectionId = "apideck-io", + TicketId = "", + ServiceId = "salesforce", +}; + +var res = await sdk.IssueTracking.CollectionTicketComments.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `request` | [IssueTrackingCollectionTicketCommentsDeleteRequest](../../Models/Requests/IssueTrackingCollectionTicketCommentsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[IssueTrackingCollectionTicketCommentsDeleteResponse](../../Models/Requests/IssueTrackingCollectionTicketCommentsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/collectiontickets/README.md b/docs/sdks/collectiontickets/README.md new file mode 100644 index 00000000..ebde7c79 --- /dev/null +++ b/docs/sdks/collectiontickets/README.md @@ -0,0 +1,340 @@ +# CollectionTickets +(*IssueTracking.CollectionTickets*) + +## Overview + +### Available Operations + +* [List](#list) - List Tickets +* [Create](#create) - Create Ticket +* [Get](#get) - Get Ticket +* [Update](#update) - Update Ticket +* [Delete](#delete) - Delete Ticket + +## List + +List Tickets + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +IssueTrackingCollectionTicketsAllRequest req = new IssueTrackingCollectionTicketsAllRequest() { + CollectionId = "apideck-io", + ServiceId = "salesforce", + Sort = new TicketsSort() { + By = Apideck.Unify.SDK.Models.Components.TicketsSortBy.CreatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + Filter = new IssuesFilter() { + Status = new List() { + "open", + }, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.IssueTracking.CollectionTickets.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `request` | [IssueTrackingCollectionTicketsAllRequest](../../Models/Requests/IssueTrackingCollectionTicketsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[IssueTrackingCollectionTicketsAllResponse](../../Models/Requests/IssueTrackingCollectionTicketsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Ticket + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +IssueTrackingCollectionTicketsAddRequest req = new IssueTrackingCollectionTicketsAddRequest() { + CollectionId = "apideck-io", + Ticket = new TicketInput() { + ParentId = "12345", + Type = "Technical", + Subject = "Technical Support Request", + Description = "I am facing issues with my internet connection", + Status = "open", + Priority = Apideck.Unify.SDK.Models.Components.Priority.High, + Assignees = new List() { + new AssigneeInput() { + Id = "12345", + }, + }, + DueDate = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + Tags = new List() { + new CollectionTagInput() { + Id = "12345", + }, + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.IssueTracking.CollectionTickets.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `request` | [IssueTrackingCollectionTicketsAddRequest](../../Models/Requests/IssueTrackingCollectionTicketsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[IssueTrackingCollectionTicketsAddResponse](../../Models/Requests/IssueTrackingCollectionTicketsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Ticket + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +IssueTrackingCollectionTicketsOneRequest req = new IssueTrackingCollectionTicketsOneRequest() { + TicketId = "", + CollectionId = "apideck-io", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.IssueTracking.CollectionTickets.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `request` | [IssueTrackingCollectionTicketsOneRequest](../../Models/Requests/IssueTrackingCollectionTicketsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[IssueTrackingCollectionTicketsOneResponse](../../Models/Requests/IssueTrackingCollectionTicketsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Ticket + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +IssueTrackingCollectionTicketsUpdateRequest req = new IssueTrackingCollectionTicketsUpdateRequest() { + TicketId = "", + CollectionId = "apideck-io", + Ticket = new TicketInput() { + ParentId = "12345", + Type = "Technical", + Subject = "Technical Support Request", + Description = "I am facing issues with my internet connection", + Status = "open", + Priority = Apideck.Unify.SDK.Models.Components.Priority.High, + Assignees = new List() { + new AssigneeInput() { + Id = "12345", + }, + }, + DueDate = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + Tags = new List() { + new CollectionTagInput() { + Id = "12345", + }, + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.IssueTracking.CollectionTickets.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `request` | [IssueTrackingCollectionTicketsUpdateRequest](../../Models/Requests/IssueTrackingCollectionTicketsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[IssueTrackingCollectionTicketsUpdateResponse](../../Models/Requests/IssueTrackingCollectionTicketsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Ticket + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +IssueTrackingCollectionTicketsDeleteRequest req = new IssueTrackingCollectionTicketsDeleteRequest() { + TicketId = "", + CollectionId = "apideck-io", + ServiceId = "salesforce", +}; + +var res = await sdk.IssueTracking.CollectionTickets.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `request` | [IssueTrackingCollectionTicketsDeleteRequest](../../Models/Requests/IssueTrackingCollectionTicketsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[IssueTrackingCollectionTicketsDeleteResponse](../../Models/Requests/IssueTrackingCollectionTicketsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/collectionusers/README.md b/docs/sdks/collectionusers/README.md new file mode 100644 index 00000000..e8246cef --- /dev/null +++ b/docs/sdks/collectionusers/README.md @@ -0,0 +1,112 @@ +# CollectionUsers +(*IssueTracking.CollectionUsers*) + +## Overview + +### Available Operations + +* [List](#list) - List Users +* [Get](#get) - Get user + +## List + +List Users + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using System.Collections.Generic; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +IssueTrackingCollectionUsersAllRequest req = new IssueTrackingCollectionUsersAllRequest() { + CollectionId = "apideck-io", + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.IssueTracking.CollectionUsers.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `request` | [IssueTrackingCollectionUsersAllRequest](../../Models/Requests/IssueTrackingCollectionUsersAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[IssueTrackingCollectionUsersAllResponse](../../Models/Requests/IssueTrackingCollectionUsersAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get user + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +IssueTrackingCollectionUsersOneRequest req = new IssueTrackingCollectionUsersOneRequest() { + CollectionId = "apideck-io", + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.IssueTracking.CollectionUsers.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `request` | [IssueTrackingCollectionUsersOneRequest](../../Models/Requests/IssueTrackingCollectionUsersOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[IssueTrackingCollectionUsersOneResponse](../../Models/Requests/IssueTrackingCollectionUsersOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/companies/README.md b/docs/sdks/companies/README.md new file mode 100644 index 00000000..ad04790c --- /dev/null +++ b/docs/sdks/companies/README.md @@ -0,0 +1,529 @@ +# Companies +(*Crm.Companies*) + +## Overview + +### Available Operations + +* [List](#list) - List companies +* [Create](#create) - Create company +* [Get](#get) - Get company +* [Update](#update) - Update company +* [Delete](#delete) - Delete company + +## List + +List companies + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmCompaniesAllRequest req = new CrmCompaniesAllRequest() { + ServiceId = "salesforce", + Filter = new CompaniesFilter() { + Name = "SpaceX", + }, + Sort = new CompaniesSort() { + By = Apideck.Unify.SDK.Models.Components.CompaniesSortBy.CreatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Crm.Companies.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `request` | [CrmCompaniesAllRequest](../../Models/Requests/CrmCompaniesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmCompaniesAllResponse](../../Models/Requests/CrmCompaniesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create company + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; +using NodaTime; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmCompaniesAddRequest req = new CrmCompaniesAddRequest() { + Company = new CompanyInput() { + Name = "SpaceX", + OwnerId = "12345", + Image = "https://www.spacex.com/static/images/share.jpg", + Description = "Space Exploration Technologies Corp. is an American aerospace manufacturer, space transportation services and communications company headquartered in Hawthorne, California.", + VatNumber = "BE0689615164", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + Status = "Open", + Fax = "+12129876543", + AnnualRevenue = "+$35m", + NumberOfEmployees = "500-1000", + Industry = "Apparel", + Ownership = "Public", + SalesTaxNumber = "12456EN", + PayeeNumber = "78932EN", + AbnOrTfn = "46 115 614 695", + AbnBranch = "123", + Acn = "XXX XXX XXX", + FirstName = "Elon", + LastName = "Musk", + BankAccounts = new List() { + new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + }, + Websites = new List() { + new Website() { + Id = "12345", + Url = "http://example.com", + Type = Apideck.Unify.SDK.Models.Components.WebsiteType.Primary, + }, + }, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + SocialLinks = new List() { + new SocialLink() { + Id = "12345", + Url = "https://www.twitter.com/apideck", + Type = "twitter", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + RowType = new CompanyRowType() { + Id = "12345", + Name = "Customer Account", + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateBoolean( + true + ), + }, + }, + Tags = new List() { + "New", + }, + ReadOnly = false, + Salutation = "Mr", + Birthday = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")), + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Companies.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `request` | [CrmCompaniesAddRequest](../../Models/Requests/CrmCompaniesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmCompaniesAddResponse](../../Models/Requests/CrmCompaniesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get company + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmCompaniesOneRequest req = new CrmCompaniesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Crm.Companies.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `request` | [CrmCompaniesOneRequest](../../Models/Requests/CrmCompaniesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmCompaniesOneResponse](../../Models/Requests/CrmCompaniesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update company + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; +using NodaTime; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmCompaniesUpdateRequest req = new CrmCompaniesUpdateRequest() { + Id = "", + Company = new CompanyInput() { + Name = "SpaceX", + OwnerId = "12345", + Image = "https://www.spacex.com/static/images/share.jpg", + Description = "Space Exploration Technologies Corp. is an American aerospace manufacturer, space transportation services and communications company headquartered in Hawthorne, California.", + VatNumber = "BE0689615164", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + Status = "Open", + Fax = "+12129876543", + AnnualRevenue = "+$35m", + NumberOfEmployees = "500-1000", + Industry = "Apparel", + Ownership = "Public", + SalesTaxNumber = "12456EN", + PayeeNumber = "78932EN", + AbnOrTfn = "46 115 614 695", + AbnBranch = "123", + Acn = "XXX XXX XXX", + FirstName = "Elon", + LastName = "Musk", + BankAccounts = new List() { + new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + }, + Websites = new List() { + new Website() { + Id = "12345", + Url = "http://example.com", + Type = Apideck.Unify.SDK.Models.Components.WebsiteType.Primary, + }, + }, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + SocialLinks = new List() { + new SocialLink() { + Id = "12345", + Url = "https://www.twitter.com/apideck", + Type = "twitter", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + RowType = new CompanyRowType() { + Id = "12345", + Name = "Customer Account", + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateArrayOf6( + new List() { + new Six() {}, + } + ), + }, + }, + Tags = new List() { + "New", + }, + ReadOnly = false, + Salutation = "Mr", + Birthday = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")), + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Companies.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [CrmCompaniesUpdateRequest](../../Models/Requests/CrmCompaniesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmCompaniesUpdateResponse](../../Models/Requests/CrmCompaniesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete company + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmCompaniesDeleteRequest req = new CrmCompaniesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Companies.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [CrmCompaniesDeleteRequest](../../Models/Requests/CrmCompaniesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmCompaniesDeleteResponse](../../Models/Requests/CrmCompaniesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/companyinfo/README.md b/docs/sdks/companyinfo/README.md new file mode 100644 index 00000000..5e264a6c --- /dev/null +++ b/docs/sdks/companyinfo/README.md @@ -0,0 +1,56 @@ +# CompanyInfo +(*Accounting.CompanyInfo*) + +## Overview + +### Available Operations + +* [Get](#get) - Get company info + +## Get + +Get company info + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingCompanyInfoOneRequest req = new AccountingCompanyInfoOneRequest() { + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.CompanyInfo.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingCompanyInfoOneRequest](../../Models/Requests/AccountingCompanyInfoOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingCompanyInfoOneResponse](../../Models/Requests/AccountingCompanyInfoOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/connectioncustommappings/README.md b/docs/sdks/connectioncustommappings/README.md new file mode 100644 index 00000000..ec3ffc36 --- /dev/null +++ b/docs/sdks/connectioncustommappings/README.md @@ -0,0 +1,58 @@ +# ConnectionCustomMappings +(*Vault.ConnectionCustomMappings*) + +## Overview + +### Available Operations + +* [List](#list) - List connection custom mappings + +## List + +This endpoint returns a list of custom mappings for a connection. + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +VaultConnectionCustomMappingsAllRequest req = new VaultConnectionCustomMappingsAllRequest() { + UnifiedApi = "crm", + ServiceId = "pipedrive", + Resource = "leads", + ResourceId = "1234", +}; + +var res = await sdk.Vault.ConnectionCustomMappings.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `request` | [VaultConnectionCustomMappingsAllRequest](../../Models/Requests/VaultConnectionCustomMappingsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[VaultConnectionCustomMappingsAllResponse](../../Models/Requests/VaultConnectionCustomMappingsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/connections/README.md b/docs/sdks/connections/README.md new file mode 100644 index 00000000..fdcbff9d --- /dev/null +++ b/docs/sdks/connections/README.md @@ -0,0 +1,384 @@ +# Connections +(*Vault.Connections*) + +## Overview + +### Available Operations + +* [List](#list) - Get all connections +* [Get](#get) - Get connection +* [Update](#update) - Update connection +* [Delete](#delete) - Deletes a connection +* [Imports](#imports) - Import connection +* [Token](#token) - Authorize Access Token + +## List + +This endpoint includes all the configured integrations and contains the required assets +to build an integrations page where your users can install integrations. +OAuth2 supported integrations will contain authorize and revoke links to handle the authentication flows. + + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Vault.Connections.ListAsync( + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX", + api: "crm", + configured: true +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `Api` | *string* | :heavy_minus_sign: | Scope results to Unified API | crm | +| `Configured` | *bool* | :heavy_minus_sign: | Scopes results to connections that have been configured or not | true | + +### Response + +**[VaultConnectionsAllResponse](../../Models/Requests/VaultConnectionsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get a connection + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Vault.Connections.GetAsync( + serviceId: "pipedrive", + unifiedApi: "crm", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `ServiceId` | *string* | :heavy_check_mark: | Service ID of the resource to return | pipedrive | +| `UnifiedApi` | *string* | :heavy_check_mark: | Unified API | crm | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[VaultConnectionsOneResponse](../../Models/Requests/VaultConnectionsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update a connection + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +VaultConnectionsUpdateRequest req = new VaultConnectionsUpdateRequest() { + ServiceId = "pipedrive", + UnifiedApi = "crm", + Connection = new ConnectionInput() { + Enabled = true, + Settings = new Dictionary() { + { "instance_url", "https://eu28.salesforce.com" }, + { "api_key", "12345xxxxxx" }, + }, + Metadata = new Dictionary() { + { "account", new Dictionary() { + { "name", "My Company" }, + { "id", "c01458a5-7276-41ce-bc19-639906b0450a" }, + } }, + { "plan", "enterprise" }, + }, + Configuration = new List() { + new ConnectionConfiguration() { + Resource = "leads", + Defaults = new List() { + new ConnectionDefaults() { + Id = "ProductInterest", + Options = new List() { + FormFieldOption.CreateFormFieldOptionGroup( + new FormFieldOptionGroup() { + Id = "1234", + Label = "General Channel", + Options = new List() { + new SimpleFormFieldOption() { + Label = "General Channel", + Value = SimpleFormFieldOptionValue.CreateNumber( + 12.5D + ), + }, + }, + } + ), + }, + Value = ConnectionValue.CreateInteger( + 10 + ), + }, + }, + }, + }, + CustomMappings = new List() { + new CustomMappingInput() { + Value = "$.root.training.first_aid", + }, + }, + }, +}; + +var res = await sdk.Vault.Connections.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [VaultConnectionsUpdateRequest](../../Models/Requests/VaultConnectionsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[VaultConnectionsUpdateResponse](../../Models/Requests/VaultConnectionsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Deletes a connection + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Vault.Connections.DeleteAsync( + serviceId: "pipedrive", + unifiedApi: "crm", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `ServiceId` | *string* | :heavy_check_mark: | Service ID of the resource to return | pipedrive | +| `UnifiedApi` | *string* | :heavy_check_mark: | Unified API | crm | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[VaultConnectionsDeleteResponse](../../Models/Requests/VaultConnectionsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Imports + +Import an authorized connection. + + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +VaultConnectionsImportRequest req = new VaultConnectionsImportRequest() { + ServiceId = "pipedrive", + UnifiedApi = "crm", + ConnectionImportData = new ConnectionImportData() { + Credentials = new Credentials() { + RefreshToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.cThIIoDvwdueQB468K5xDc5633seEFoqwxjF_xSJyQQ", + AccessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c", + }, + Settings = new ConnectionImportDataSettings() {}, + Metadata = new Dictionary() { + { "account", new Dictionary() { + { "name", "My Company" }, + { "id", "c01458a5-7276-41ce-bc19-639906b0450a" }, + } }, + { "plan", "enterprise" }, + }, + }, +}; + +var res = await sdk.Vault.Connections.ImportsAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [VaultConnectionsImportRequest](../../Models/Requests/VaultConnectionsImportRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[VaultConnectionsImportResponse](../../Models/Requests/VaultConnectionsImportResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Token + +Triggers exchanging persisted connection credentials for an access token and store it in Vault. Currently supported for connections with the `client_credentials` or `password` OAuth grant type. + +Note: + - Do not include any credentials in the request body. This operation does not persist changes, but only triggers the exchange of persisted connection credentials for an access token. + - The access token will not be returned in the response. A 200 response code indicates the authorization was successful and that a valid access token was stored on the connection. + - The access token will be used for subsequent API requests. + + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +VaultConnectionsTokenRequest req = new VaultConnectionsTokenRequest() { + ServiceId = "pipedrive", + UnifiedApi = "crm", +}; + +var res = await sdk.Vault.Connections.TokenAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [VaultConnectionsTokenRequest](../../Models/Requests/VaultConnectionsTokenRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[VaultConnectionsTokenResponse](../../Models/Requests/VaultConnectionsTokenResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/connectionsettings/README.md b/docs/sdks/connectionsettings/README.md new file mode 100644 index 00000000..3732e4fa --- /dev/null +++ b/docs/sdks/connectionsettings/README.md @@ -0,0 +1,157 @@ +# ConnectionSettings +(*Vault.ConnectionSettings*) + +## Overview + +### Available Operations + +* [List](#list) - Get resource settings +* [Update](#update) - Update settings + +## List + +This endpoint returns custom settings and their defaults required by connection for a given resource. + + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +VaultConnectionSettingsAllRequest req = new VaultConnectionSettingsAllRequest() { + UnifiedApi = "crm", + ServiceId = "pipedrive", + Resource = "leads", +}; + +var res = await sdk.Vault.ConnectionSettings.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `request` | [VaultConnectionSettingsAllRequest](../../Models/Requests/VaultConnectionSettingsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[VaultConnectionSettingsAllResponse](../../Models/Requests/VaultConnectionSettingsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update default values for a connection's resource settings + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +VaultConnectionSettingsUpdateRequest req = new VaultConnectionSettingsUpdateRequest() { + ServiceId = "pipedrive", + UnifiedApi = "crm", + Resource = "leads", + Connection = new ConnectionInput() { + Enabled = true, + Settings = new Dictionary() { + { "instance_url", "https://eu28.salesforce.com" }, + { "api_key", "12345xxxxxx" }, + }, + Metadata = new Dictionary() { + { "account", new Dictionary() { + { "name", "My Company" }, + { "id", "c01458a5-7276-41ce-bc19-639906b0450a" }, + } }, + { "plan", "enterprise" }, + }, + Configuration = new List() { + new ConnectionConfiguration() { + Resource = "leads", + Defaults = new List() { + new ConnectionDefaults() { + Id = "ProductInterest", + Options = new List() { + FormFieldOption.CreateFormFieldOptionGroup( + new FormFieldOptionGroup() { + Id = "1234", + Label = "General Channel", + Options = new List() { + new SimpleFormFieldOption() { + Label = "General Channel", + Value = SimpleFormFieldOptionValue.CreateNumber( + 12.5D + ), + }, + }, + } + ), + }, + Value = ConnectionValue.CreateInteger( + 10 + ), + }, + }, + }, + }, + CustomMappings = new List() { + new CustomMappingInput() { + Value = "$.root.training.first_aid", + }, + }, + }, +}; + +var res = await sdk.Vault.ConnectionSettings.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `request` | [VaultConnectionSettingsUpdateRequest](../../Models/Requests/VaultConnectionSettingsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[VaultConnectionSettingsUpdateResponse](../../Models/Requests/VaultConnectionSettingsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/connector/README.md b/docs/sdks/connector/README.md new file mode 100644 index 00000000..c7a4affe --- /dev/null +++ b/docs/sdks/connector/README.md @@ -0,0 +1,6 @@ +# Connector +(*Connector*) + +## Overview + +### Available Operations diff --git a/docs/sdks/connectordocs/README.md b/docs/sdks/connectordocs/README.md new file mode 100644 index 00000000..e7d06a2c --- /dev/null +++ b/docs/sdks/connectordocs/README.md @@ -0,0 +1,55 @@ +# ConnectorDocs +(*Connector.ConnectorDocs*) + +## Overview + +### Available Operations + +* [Get](#get) - Get Connector Doc content + +## Get + +Get Connector Doc content + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Connector.ConnectorDocs.GetAsync( + id: "", + docId: "application_owner+oauth_credentials", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `DocId` | *string* | :heavy_check_mark: | ID of the Doc | application_owner+oauth_credentials | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[ConnectorConnectorDocsOneResponse](../../Models/Requests/ConnectorConnectorDocsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/connectorresources/README.md b/docs/sdks/connectorresources/README.md new file mode 100644 index 00000000..2e7e4e03 --- /dev/null +++ b/docs/sdks/connectorresources/README.md @@ -0,0 +1,57 @@ +# ConnectorResources +(*Connector.ConnectorResources*) + +## Overview + +### Available Operations + +* [Get](#get) - Get Connector Resource + +## Get + +Get Connector Resource + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Connector.ConnectorResources.GetAsync( + id: "", + resourceId: "", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX", + unifiedApi: Apideck.Unify.SDK.Models.Components.UnifiedApiId.Crm +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `ResourceId` | *string* | :heavy_check_mark: | ID of the resource you are acting upon. | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `UnifiedApi` | [UnifiedApiId](../../Models/Components/UnifiedApiId.md) | :heavy_minus_sign: | Specify unified API for the connector resource. This is useful when a resource appears in multiple APIs | crm | + +### Response + +**[ConnectorConnectorResourcesOneResponse](../../Models/Requests/ConnectorConnectorResourcesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/connectors/README.md b/docs/sdks/connectors/README.md new file mode 100644 index 00000000..43fb8b54 --- /dev/null +++ b/docs/sdks/connectors/README.md @@ -0,0 +1,105 @@ +# Connectors +(*Connector.Connectors*) + +## Overview + +### Available Operations + +* [List](#list) - List Connectors +* [Get](#get) - Get Connector + +## List + +List Connectors + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Connector.Connectors.ListAsync( + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX", + cursor: "", + limit: 20, + filter: new ConnectorsFilter() { + UnifiedApi = Apideck.Unify.SDK.Models.Components.UnifiedApiId.FileStorage, + } +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | +| `Filter` | [ConnectorsFilter](../../Models/Components/ConnectorsFilter.md) | :heavy_minus_sign: | Apply filters | {
"unified_api": "file-storage"
} | + +### Response + +**[ConnectorConnectorsAllResponse](../../Models/Requests/ConnectorConnectorsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Connector + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Connector.Connectors.GetAsync( + id: "", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | ID of the record you are acting upon. | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[ConnectorConnectorsOneResponse](../../Models/Requests/ConnectorConnectorsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/consumerrequestcounts/README.md b/docs/sdks/consumerrequestcounts/README.md new file mode 100644 index 00000000..3070714e --- /dev/null +++ b/docs/sdks/consumerrequestcounts/README.md @@ -0,0 +1,60 @@ +# ConsumerRequestCounts +(*Vault.ConsumerRequestCounts*) + +## Overview + +### Available Operations + +* [List](#list) - Consumer request counts + +## List + +Get consumer request counts within a given datetime range. + + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Vault.ConsumerRequestCounts.ListAsync( + consumerId: "test_user_id", + startDatetime: "2021-05-01T12:00:00.000Z", + endDatetime: "2021-05-30T12:00:00.000Z", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `ConsumerId` | *string* | :heavy_check_mark: | ID of the consumer to return | test_user_id | +| `StartDatetime` | *string* | :heavy_check_mark: | Scopes results to requests that happened after datetime | 2021-05-01T12:00:00.000Z | +| `EndDatetime` | *string* | :heavy_check_mark: | Scopes results to requests that happened before datetime | 2021-05-30T12:00:00.000Z | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[VaultConsumerRequestCountsAllResponse](../../Models/Requests/VaultConsumerRequestCountsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/consumers/README.md b/docs/sdks/consumers/README.md new file mode 100644 index 00000000..5c9dedbf --- /dev/null +++ b/docs/sdks/consumers/README.md @@ -0,0 +1,268 @@ +# Consumers +(*Vault.Consumers*) + +## Overview + +### Available Operations + +* [Create](#create) - Create consumer +* [List](#list) - Get all consumers +* [Get](#get) - Get consumer +* [Update](#update) - Update consumer +* [Delete](#delete) - Delete consumer + +## Create + +Create a consumer + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Vault.Consumers.CreateAsync( + consumer: new ConsumerInput() { + ConsumerId = "test_consumer_id", + Metadata = new ConsumerMetadata() { + AccountName = "SpaceX", + UserName = "Elon Musk", + Email = "elon@musk.com", + Image = "https://www.spacex.com/static/images/share.jpg", + }, + }, + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `Consumer` | [ConsumerInput](../../Models/Components/ConsumerInput.md) | :heavy_check_mark: | N/A | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[VaultConsumersAddResponse](../../Models/Requests/VaultConsumersAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## List + +This endpoint includes all application consumers, along with an aggregated count of requests made. + + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Vault.Consumers.ListAsync( + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX", + cursor: "", + limit: 20 +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | + +### Response + +**[VaultConsumersAllResponse](../../Models/Requests/VaultConsumersAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Consumer detail including their aggregated counts with the connections they have authorized. + + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Vault.Consumers.GetAsync( + consumerId: "test_user_id", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `ConsumerId` | *string* | :heavy_check_mark: | ID of the consumer to return | test_user_id | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[VaultConsumersOneResponse](../../Models/Requests/VaultConsumersOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update consumer metadata such as name and email. + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Vault.Consumers.UpdateAsync( + consumerId: "test_user_id", + updateConsumerRequest: new UpdateConsumerRequest() { + Metadata = new ConsumerMetadata() { + AccountName = "SpaceX", + UserName = "Elon Musk", + Email = "elon@musk.com", + Image = "https://www.spacex.com/static/images/share.jpg", + }, + }, + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `ConsumerId` | *string* | :heavy_check_mark: | ID of the consumer to return | test_user_id | +| `UpdateConsumerRequest` | [UpdateConsumerRequest](../../Models/Components/UpdateConsumerRequest.md) | :heavy_check_mark: | N/A | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[VaultConsumersUpdateResponse](../../Models/Requests/VaultConsumersUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete consumer and all their connections, including credentials. + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Vault.Consumers.DeleteAsync( + consumerId: "test_user_id", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `ConsumerId` | *string* | :heavy_check_mark: | ID of the consumer to return | test_user_id | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[VaultConsumersDeleteResponse](../../Models/Requests/VaultConsumersDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/contacts/README.md b/docs/sdks/contacts/README.md new file mode 100644 index 00000000..a85b5c8e --- /dev/null +++ b/docs/sdks/contacts/README.md @@ -0,0 +1,510 @@ +# Contacts +(*Crm.Contacts*) + +## Overview + +### Available Operations + +* [List](#list) - List contacts +* [Create](#create) - Create contact +* [Get](#get) - Get contact +* [Update](#update) - Update contact +* [Delete](#delete) - Delete contact + +## List + +List contacts + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmContactsAllRequest req = new CrmContactsAllRequest() { + ServiceId = "salesforce", + Filter = new ContactsFilter() { + FirstName = "Elon", + LastName = "Musk", + Email = "elon@tesla.com", + CompanyId = "12345", + OwnerId = "12345", + }, + Sort = new ContactsSort() { + By = Apideck.Unify.SDK.Models.Components.ContactsSortBy.CreatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Crm.Contacts.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `request` | [CrmContactsAllRequest](../../Models/Requests/CrmContactsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmContactsAllResponse](../../Models/Requests/CrmContactsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create contact + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmContactsAddRequest req = new CrmContactsAddRequest() { + Contact = new ContactInput() { + Name = "Elon Musk", + OwnerId = "54321", + Type = Apideck.Unify.SDK.Models.Components.ContactType.Personal, + CompanyId = "23456", + CompanyName = "23456", + LeadId = "34567", + FirstName = "Elon", + MiddleName = "D.", + LastName = "Musk", + Prefix = "Mr.", + Suffix = "PhD", + Title = "CEO", + Department = "Engineering", + Language = "EN", + Gender = Apideck.Unify.SDK.Models.Components.ContactGender.Female, + Birthday = "2000-08-12", + PhotoUrl = "https://unavatar.io/elon-musk", + LeadSource = "Cold Call", + Fax = "+12129876543", + Description = "Internal champion", + CurrentBalance = 10.5D, + Status = "open", + Active = true, + Websites = new List() { + new Website() { + Id = "12345", + Url = "http://example.com", + Type = Apideck.Unify.SDK.Models.Components.WebsiteType.Primary, + }, + }, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + SocialLinks = new List() { + new SocialLink() { + Id = "12345", + Url = "https://www.twitter.com/apideck", + Type = "twitter", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + EmailDomain = "gmail.com", + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateBoolean( + true + ), + }, + }, + Tags = new List() { + "New", + }, + OpportunityIds = new List() { + "12345", + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Contacts.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `request` | [CrmContactsAddRequest](../../Models/Requests/CrmContactsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmContactsAddResponse](../../Models/Requests/CrmContactsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get contact + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmContactsOneRequest req = new CrmContactsOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", + Filter = new ContactsFilter() { + FirstName = "Elon", + LastName = "Musk", + Email = "elon@tesla.com", + CompanyId = "12345", + OwnerId = "12345", + }, +}; + +var res = await sdk.Crm.Contacts.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `request` | [CrmContactsOneRequest](../../Models/Requests/CrmContactsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmContactsOneResponse](../../Models/Requests/CrmContactsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update contact + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmContactsUpdateRequest req = new CrmContactsUpdateRequest() { + Id = "", + Contact = new ContactInput() { + Name = "Elon Musk", + OwnerId = "54321", + Type = Apideck.Unify.SDK.Models.Components.ContactType.Personal, + CompanyId = "23456", + CompanyName = "23456", + LeadId = "34567", + FirstName = "Elon", + MiddleName = "D.", + LastName = "Musk", + Prefix = "Mr.", + Suffix = "PhD", + Title = "CEO", + Department = "Engineering", + Language = "EN", + Gender = Apideck.Unify.SDK.Models.Components.ContactGender.Female, + Birthday = "2000-08-12", + PhotoUrl = "https://unavatar.io/elon-musk", + LeadSource = "Cold Call", + Fax = "+12129876543", + Description = "Internal champion", + CurrentBalance = 10.5D, + Status = "open", + Active = true, + Websites = new List() { + new Website() { + Id = "12345", + Url = "http://example.com", + Type = Apideck.Unify.SDK.Models.Components.WebsiteType.Primary, + }, + }, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + SocialLinks = new List() { + new SocialLink() { + Id = "12345", + Url = "https://www.twitter.com/apideck", + Type = "twitter", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + EmailDomain = "gmail.com", + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateArrayOf6( + new List() { + new Six() {}, + } + ), + }, + }, + Tags = new List() { + "New", + }, + OpportunityIds = new List() { + "12345", + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Contacts.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `request` | [CrmContactsUpdateRequest](../../Models/Requests/CrmContactsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmContactsUpdateResponse](../../Models/Requests/CrmContactsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete contact + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmContactsDeleteRequest req = new CrmContactsDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Contacts.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `request` | [CrmContactsDeleteRequest](../../Models/Requests/CrmContactsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmContactsDeleteResponse](../../Models/Requests/CrmContactsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/createcallback/README.md b/docs/sdks/createcallback/README.md new file mode 100644 index 00000000..d5125895 --- /dev/null +++ b/docs/sdks/createcallback/README.md @@ -0,0 +1,60 @@ +# CreateCallback +(*Vault.CreateCallback*) + +## Overview + +### Available Operations + +* [State](#state) - Create Callback State + +## State + +This endpoint creates a callback state that can be used to issue requests to the callback endpoint. + + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +VaultCreateCallbackStateRequest req = new VaultCreateCallbackStateRequest() { + ServiceId = "pipedrive", + UnifiedApi = "crm", + CreateCallbackState = new CreateCallbackState() { + RedirectUri = "https://example.com/callback", + }, +}; + +var res = await sdk.Vault.CreateCallback.StateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [VaultCreateCallbackStateRequest](../../Models/Requests/VaultCreateCallbackStateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[VaultCreateCallbackStateResponse](../../Models/Requests/VaultCreateCallbackStateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/creditnotes/README.md b/docs/sdks/creditnotes/README.md new file mode 100644 index 00000000..80e3fcc6 --- /dev/null +++ b/docs/sdks/creditnotes/README.md @@ -0,0 +1,609 @@ +# CreditNotes +(*Accounting.CreditNotes*) + +## Overview + +### Available Operations + +* [List](#list) - List Credit Notes +* [Create](#create) - Create Credit Note +* [Get](#get) - Get Credit Note +* [Update](#update) - Update Credit Note +* [Delete](#delete) - Delete Credit Note + +## List + +List Credit Notes + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingCreditNotesAllRequest req = new AccountingCreditNotesAllRequest() { + ServiceId = "salesforce", + Filter = new CreditNotesFilter() { + UpdatedSince = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + }, + Sort = new CreditNotesSort() { + By = Apideck.Unify.SDK.Models.Components.CreditNotesSortBy.UpdatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.CreditNotes.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingCreditNotesAllRequest](../../Models/Requests/AccountingCreditNotesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingCreditNotesAllResponse](../../Models/Requests/AccountingCreditNotesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Credit Note + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingCreditNotesAddRequest req = new AccountingCreditNotesAddRequest() { + CreditNote = new CreditNoteInput() { + Number = "OIT00546", + Customer = new LinkedCustomerInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Email = "boring@boring.com", + }, + CompanyId = "12345", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CurrencyRate = 0.69D, + TaxInclusive = true, + SubTotal = 27500D, + TotalAmount = 49.99D, + TotalTax = 2500D, + TaxCode = "1234", + Balance = 27500D, + RemainingCredit = 27500D, + Status = Apideck.Unify.SDK.Models.Components.CreditNoteStatus.Authorised, + Reference = "123456", + DateIssued = System.DateTime.Parse("2021-05-01T12:00:00.000Z"), + DatePaid = System.DateTime.Parse("2021-05-01T12:00:00.000Z"), + Type = Apideck.Unify.SDK.Models.Components.CreditNoteType.AccountsReceivableCredit, + Account = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + LineItems = new List() { + new InvoiceLineItemInput() { + Id = "12345", + RowId = "12345", + Code = "120-C", + LineNumber = 1, + Description = "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", + Type = Apideck.Unify.SDK.Models.Components.InvoiceLineItemType.SalesItem, + TaxAmount = 27500D, + TotalAmount = 27500D, + Quantity = 1D, + UnitPrice = 27500.5D, + UnitOfMeasure = "pc.", + DiscountPercentage = 0.01D, + DiscountAmount = 19.99D, + LocationId = "1234", + DepartmentId = "1234", + Item = new LinkedInvoiceItem() { + Id = "12344", + Code = "120-C", + Name = "Model Y", + }, + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateBoolean( + true + ), + }, + }, + RowVersion = "1-12345", + }, + }, + Allocations = new List() { + new AllocationInput() { + Id = "123456", + Amount = 49.99D, + AllocationId = "123456", + }, + }, + Note = "Some notes about this credit note", + Terms = "Some terms about this credit note", + BillingAddress = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + ShippingAddress = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateFour( + new Four() {} + ), + }, + }, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.CreditNotes.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingCreditNotesAddRequest](../../Models/Requests/AccountingCreditNotesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingCreditNotesAddResponse](../../Models/Requests/AccountingCreditNotesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Credit Note + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingCreditNotesOneRequest req = new AccountingCreditNotesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.CreditNotes.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingCreditNotesOneRequest](../../Models/Requests/AccountingCreditNotesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingCreditNotesOneResponse](../../Models/Requests/AccountingCreditNotesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Credit Note + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingCreditNotesUpdateRequest req = new AccountingCreditNotesUpdateRequest() { + Id = "", + CreditNote = new CreditNoteInput() { + Number = "OIT00546", + Customer = new LinkedCustomerInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Email = "boring@boring.com", + }, + CompanyId = "12345", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CurrencyRate = 0.69D, + TaxInclusive = true, + SubTotal = 27500D, + TotalAmount = 49.99D, + TotalTax = 2500D, + TaxCode = "1234", + Balance = 27500D, + RemainingCredit = 27500D, + Status = Apideck.Unify.SDK.Models.Components.CreditNoteStatus.Authorised, + Reference = "123456", + DateIssued = System.DateTime.Parse("2021-05-01T12:00:00.000Z"), + DatePaid = System.DateTime.Parse("2021-05-01T12:00:00.000Z"), + Type = Apideck.Unify.SDK.Models.Components.CreditNoteType.AccountsReceivableCredit, + Account = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + LineItems = new List() { + new InvoiceLineItemInput() { + Id = "12345", + RowId = "12345", + Code = "120-C", + LineNumber = 1, + Description = "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", + Type = Apideck.Unify.SDK.Models.Components.InvoiceLineItemType.SalesItem, + TaxAmount = 27500D, + TotalAmount = 27500D, + Quantity = 1D, + UnitPrice = 27500.5D, + UnitOfMeasure = "pc.", + DiscountPercentage = 0.01D, + DiscountAmount = 19.99D, + LocationId = "1234", + DepartmentId = "1234", + Item = new LinkedInvoiceItem() { + Id = "12344", + Code = "120-C", + Name = "Model Y", + }, + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateArrayOf6( + new List() { + new Six() {}, + } + ), + }, + }, + RowVersion = "1-12345", + }, + }, + Allocations = new List() { + new AllocationInput() { + Id = "123456", + Amount = 49.99D, + AllocationId = "123456", + }, + }, + Note = "Some notes about this credit note", + Terms = "Some terms about this credit note", + BillingAddress = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + ShippingAddress = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateFour( + new Four() {} + ), + }, + }, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.CreditNotes.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [AccountingCreditNotesUpdateRequest](../../Models/Requests/AccountingCreditNotesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingCreditNotesUpdateResponse](../../Models/Requests/AccountingCreditNotesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Credit Note + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingCreditNotesDeleteRequest req = new AccountingCreditNotesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.CreditNotes.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [AccountingCreditNotesDeleteRequest](../../Models/Requests/AccountingCreditNotesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingCreditNotesDeleteResponse](../../Models/Requests/AccountingCreditNotesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/crm/README.md b/docs/sdks/crm/README.md new file mode 100644 index 00000000..3ecd6841 --- /dev/null +++ b/docs/sdks/crm/README.md @@ -0,0 +1,6 @@ +# Crm +(*Crm*) + +## Overview + +### Available Operations diff --git a/docs/sdks/customers/README.md b/docs/sdks/customers/README.md new file mode 100644 index 00000000..f7b52237 --- /dev/null +++ b/docs/sdks/customers/README.md @@ -0,0 +1,501 @@ +# Customers +(*Accounting.Customers*) + +## Overview + +### Available Operations + +* [List](#list) - List Customers +* [Create](#create) - Create Customer +* [Get](#get) - Get Customer +* [Update](#update) - Update Customer +* [Delete](#delete) - Delete Customer + +## List + +List Customers + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingCustomersAllRequest req = new AccountingCustomersAllRequest() { + ServiceId = "salesforce", + Filter = new CustomersFilter() { + CompanyName = "SpaceX", + DisplayName = "Elon Musk", + FirstName = "Elon", + LastName = "Musk", + Email = "elon@musk.com", + Status = Apideck.Unify.SDK.Models.Components.CustomersFilterStatus.Active, + UpdatedSince = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + }, + Sort = new CustomersSort() { + By = Apideck.Unify.SDK.Models.Components.CustomersSortBy.UpdatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Customers.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [AccountingCustomersAllRequest](../../Models/Requests/AccountingCustomersAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingCustomersAllResponse](../../Models/Requests/AccountingCustomersAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Customer + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingCustomersAddRequest req = new AccountingCustomersAddRequest() { + Customer = new CustomerInput() { + DisplayId = "EMP00101", + DisplayName = "Windsurf Shop", + CompanyName = "SpaceX", + CompanyId = "12345", + Title = "CEO", + FirstName = "Elon", + MiddleName = "D.", + LastName = "Musk", + Suffix = "Jr.", + Individual = true, + Project = false, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + Websites = new List() { + new Website() { + Id = "12345", + Url = "http://example.com", + Type = Apideck.Unify.SDK.Models.Components.WebsiteType.Primary, + }, + }, + BankAccounts = new List() { + new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + }, + Notes = "Some notes about this customer", + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + TaxNumber = "US123945459", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + Account = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + Parent = new LinkedParentCustomer() { + Id = "12345", + Name = "Windsurf Shop", + }, + Status = Apideck.Unify.SDK.Models.Components.CustomerStatusStatus.Active, + PaymentMethod = "cash", + Channel = "email", + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Customers.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [AccountingCustomersAddRequest](../../Models/Requests/AccountingCustomersAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingCustomersAddResponse](../../Models/Requests/AccountingCustomersAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Customer + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingCustomersOneRequest req = new AccountingCustomersOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Customers.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [AccountingCustomersOneRequest](../../Models/Requests/AccountingCustomersOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingCustomersOneResponse](../../Models/Requests/AccountingCustomersOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Customer + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingCustomersUpdateRequest req = new AccountingCustomersUpdateRequest() { + Id = "", + Customer = new CustomerInput() { + DisplayId = "EMP00101", + DisplayName = "Windsurf Shop", + CompanyName = "SpaceX", + CompanyId = "12345", + Title = "CEO", + FirstName = "Elon", + MiddleName = "D.", + LastName = "Musk", + Suffix = "Jr.", + Individual = true, + Project = false, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + Websites = new List() { + new Website() { + Id = "12345", + Url = "http://example.com", + Type = Apideck.Unify.SDK.Models.Components.WebsiteType.Primary, + }, + }, + BankAccounts = new List() { + new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + }, + Notes = "Some notes about this customer", + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + TaxNumber = "US123945459", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + Account = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + Parent = new LinkedParentCustomer() { + Id = "12345", + Name = "Windsurf Shop", + }, + Status = Apideck.Unify.SDK.Models.Components.CustomerStatusStatus.Active, + PaymentMethod = "cash", + Channel = "email", + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Customers.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingCustomersUpdateRequest](../../Models/Requests/AccountingCustomersUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingCustomersUpdateResponse](../../Models/Requests/AccountingCustomersUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Customer + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingCustomersDeleteRequest req = new AccountingCustomersDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Customers.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingCustomersDeleteRequest](../../Models/Requests/AccountingCustomersDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingCustomersDeleteResponse](../../Models/Requests/AccountingCustomersDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/customfields/README.md b/docs/sdks/customfields/README.md new file mode 100644 index 00000000..f83b45a8 --- /dev/null +++ b/docs/sdks/customfields/README.md @@ -0,0 +1,59 @@ +# CustomFields +(*Vault.CustomFields*) + +## Overview + +### Available Operations + +* [List](#list) - Get resource custom fields + +## List + +This endpoint returns an custom fields on a connection resource. + + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +VaultCustomFieldsAllRequest req = new VaultCustomFieldsAllRequest() { + UnifiedApi = "crm", + ServiceId = "pipedrive", + Resource = "leads", + ResourceId = "1234", +}; + +var res = await sdk.Vault.CustomFields.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `request` | [VaultCustomFieldsAllRequest](../../Models/Requests/VaultCustomFieldsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[VaultCustomFieldsAllResponse](../../Models/Requests/VaultCustomFieldsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/custommappings/README.md b/docs/sdks/custommappings/README.md new file mode 100644 index 00000000..c617f20f --- /dev/null +++ b/docs/sdks/custommappings/README.md @@ -0,0 +1,59 @@ +# CustomMappings +(*Vault.CustomMappings*) + +## Overview + +### Available Operations + +* [List](#list) - List custom mappings + +## List + +This endpoint returns a list of custom mappings. + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Vault.CustomMappings.ListAsync( + unifiedApi: "crm", + serviceId: "pipedrive", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `UnifiedApi` | *string* | :heavy_check_mark: | Unified API | crm | +| `ServiceId` | *string* | :heavy_check_mark: | Service ID of the resource to return | pipedrive | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[VaultCustomMappingsAllResponse](../../Models/Requests/VaultCustomMappingsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/departments/README.md b/docs/sdks/departments/README.md new file mode 100644 index 00000000..43ae74f8 --- /dev/null +++ b/docs/sdks/departments/README.md @@ -0,0 +1,309 @@ +# Departments +(*Accounting.Departments*) + +## Overview + +### Available Operations + +* [List](#list) - List Departments +* [Create](#create) - Create Department +* [Get](#get) - Get Department +* [Update](#update) - Update Department +* [Delete](#delete) - Delete Department + +## List + +List Departments + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingDepartmentsAllRequest req = new AccountingDepartmentsAllRequest() { + ServiceId = "salesforce", + Fields = "id,updated_at", + Filter = new AccountingDepartmentsFilter() { + Subsidiary = "1", + }, +}; + +var res = await sdk.Accounting.Departments.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingDepartmentsAllRequest](../../Models/Requests/AccountingDepartmentsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingDepartmentsAllResponse](../../Models/Requests/AccountingDepartmentsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Department + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingDepartmentsAddRequest req = new AccountingDepartmentsAddRequest() { + AccountingDepartment = new AccountingDepartmentInput() { + ParentId = "12345", + Name = "Sales", + Status = Apideck.Unify.SDK.Models.Components.DepartmentStatus.Active, + Subsidiaries = new List() { + new SubsidiaryReferenceInput() { + Name = "SpaceX", + }, + }, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Departments.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingDepartmentsAddRequest](../../Models/Requests/AccountingDepartmentsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingDepartmentsAddResponse](../../Models/Requests/AccountingDepartmentsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Department + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingDepartmentsOneRequest req = new AccountingDepartmentsOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Departments.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingDepartmentsOneRequest](../../Models/Requests/AccountingDepartmentsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingDepartmentsOneResponse](../../Models/Requests/AccountingDepartmentsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Department + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingDepartmentsUpdateRequest req = new AccountingDepartmentsUpdateRequest() { + Id = "", + AccountingDepartment = new AccountingDepartmentInput() { + ParentId = "12345", + Name = "Sales", + Status = Apideck.Unify.SDK.Models.Components.DepartmentStatus.Active, + Subsidiaries = new List() { + new SubsidiaryReferenceInput() { + Name = "SpaceX", + }, + }, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Departments.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [AccountingDepartmentsUpdateRequest](../../Models/Requests/AccountingDepartmentsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingDepartmentsUpdateResponse](../../Models/Requests/AccountingDepartmentsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Department + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingDepartmentsDeleteRequest req = new AccountingDepartmentsDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Departments.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [AccountingDepartmentsDeleteRequest](../../Models/Requests/AccountingDepartmentsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingDepartmentsDeleteResponse](../../Models/Requests/AccountingDepartmentsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/drivegroups/README.md b/docs/sdks/drivegroups/README.md new file mode 100644 index 00000000..00c96180 --- /dev/null +++ b/docs/sdks/drivegroups/README.md @@ -0,0 +1,301 @@ +# DriveGroups +(*FileStorage.DriveGroups*) + +## Overview + +### Available Operations + +* [List](#list) - List DriveGroups +* [Create](#create) - Create DriveGroup +* [Get](#get) - Get DriveGroup +* [Update](#update) - Update DriveGroup +* [Delete](#delete) - Delete DriveGroup + +## List + +List DriveGroups + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageDriveGroupsAllRequest req = new FileStorageDriveGroupsAllRequest() { + ServiceId = "salesforce", + Filter = new DriveGroupsFilter() { + ParentGroupId = "1234", + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.FileStorage.DriveGroups.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [FileStorageDriveGroupsAllRequest](../../Models/Requests/FileStorageDriveGroupsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageDriveGroupsAllResponse](../../Models/Requests/FileStorageDriveGroupsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create DriveGroup + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageDriveGroupsAddRequest req = new FileStorageDriveGroupsAddRequest() { + DriveGroup = new DriveGroupInput() { + Name = "accounting", + DisplayName = "accounting", + Description = "A description", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.DriveGroups.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [FileStorageDriveGroupsAddRequest](../../Models/Requests/FileStorageDriveGroupsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageDriveGroupsAddResponse](../../Models/Requests/FileStorageDriveGroupsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get DriveGroup + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageDriveGroupsOneRequest req = new FileStorageDriveGroupsOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.FileStorage.DriveGroups.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [FileStorageDriveGroupsOneRequest](../../Models/Requests/FileStorageDriveGroupsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageDriveGroupsOneResponse](../../Models/Requests/FileStorageDriveGroupsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update DriveGroup + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageDriveGroupsUpdateRequest req = new FileStorageDriveGroupsUpdateRequest() { + Id = "", + DriveGroup = new DriveGroupInput() { + Name = "accounting", + DisplayName = "accounting", + Description = "A description", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.DriveGroups.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `request` | [FileStorageDriveGroupsUpdateRequest](../../Models/Requests/FileStorageDriveGroupsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageDriveGroupsUpdateResponse](../../Models/Requests/FileStorageDriveGroupsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete DriveGroup + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageDriveGroupsDeleteRequest req = new FileStorageDriveGroupsDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.DriveGroups.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `request` | [FileStorageDriveGroupsDeleteRequest](../../Models/Requests/FileStorageDriveGroupsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageDriveGroupsDeleteResponse](../../Models/Requests/FileStorageDriveGroupsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/drives/README.md b/docs/sdks/drives/README.md new file mode 100644 index 00000000..bd93da77 --- /dev/null +++ b/docs/sdks/drives/README.md @@ -0,0 +1,295 @@ +# Drives +(*FileStorage.Drives*) + +## Overview + +### Available Operations + +* [List](#list) - List Drives +* [Create](#create) - Create Drive +* [Get](#get) - Get Drive +* [Update](#update) - Update Drive +* [Delete](#delete) - Delete Drive + +## List + +List Drives + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageDrivesAllRequest req = new FileStorageDrivesAllRequest() { + ServiceId = "salesforce", + Filter = new DrivesFilter() { + GroupId = "1234", + }, + Fields = "id,updated_at", +}; + +var res = await sdk.FileStorage.Drives.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `request` | [FileStorageDrivesAllRequest](../../Models/Requests/FileStorageDrivesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageDrivesAllResponse](../../Models/Requests/FileStorageDrivesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Drive + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageDrivesAddRequest req = new FileStorageDrivesAddRequest() { + Drive = new DriveInput() { + Name = "Project Resources", + Description = "A description", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.Drives.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `request` | [FileStorageDrivesAddRequest](../../Models/Requests/FileStorageDrivesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageDrivesAddResponse](../../Models/Requests/FileStorageDrivesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Drive + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageDrivesOneRequest req = new FileStorageDrivesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.FileStorage.Drives.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `request` | [FileStorageDrivesOneRequest](../../Models/Requests/FileStorageDrivesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageDrivesOneResponse](../../Models/Requests/FileStorageDrivesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Drive + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageDrivesUpdateRequest req = new FileStorageDrivesUpdateRequest() { + Id = "", + Drive = new DriveInput() { + Name = "Project Resources", + Description = "A description", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.Drives.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `request` | [FileStorageDrivesUpdateRequest](../../Models/Requests/FileStorageDrivesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageDrivesUpdateResponse](../../Models/Requests/FileStorageDrivesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Drive + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageDrivesDeleteRequest req = new FileStorageDrivesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.Drives.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `request` | [FileStorageDrivesDeleteRequest](../../Models/Requests/FileStorageDrivesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageDrivesDeleteResponse](../../Models/Requests/FileStorageDrivesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/ecommerce/README.md b/docs/sdks/ecommerce/README.md new file mode 100644 index 00000000..884d28f2 --- /dev/null +++ b/docs/sdks/ecommerce/README.md @@ -0,0 +1,6 @@ +# Ecommerce +(*Ecommerce*) + +## Overview + +### Available Operations diff --git a/docs/sdks/employeepayrolls/README.md b/docs/sdks/employeepayrolls/README.md new file mode 100644 index 00000000..d9e9c967 --- /dev/null +++ b/docs/sdks/employeepayrolls/README.md @@ -0,0 +1,116 @@ +# EmployeePayrolls +(*Hris.EmployeePayrolls*) + +## Overview + +### Available Operations + +* [List](#list) - List Employee Payrolls +* [Get](#get) - Get Employee Payroll + +## List + +List payrolls for employee + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisEmployeePayrollsAllRequest req = new HrisEmployeePayrollsAllRequest() { + EmployeeId = "", + ServiceId = "salesforce", + Filter = new PayrollsFilter() { + StartDate = "2022-04-08", + EndDate = "2022-04-21", + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Hris.EmployeePayrolls.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `request` | [HrisEmployeePayrollsAllRequest](../../Models/Requests/HrisEmployeePayrollsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisEmployeePayrollsAllResponse](../../Models/Requests/HrisEmployeePayrollsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get payroll for employee + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisEmployeePayrollsOneRequest req = new HrisEmployeePayrollsOneRequest() { + PayrollId = "", + EmployeeId = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Hris.EmployeePayrolls.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `request` | [HrisEmployeePayrollsOneRequest](../../Models/Requests/HrisEmployeePayrollsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisEmployeePayrollsOneResponse](../../Models/Requests/HrisEmployeePayrollsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/employees/README.md b/docs/sdks/employees/README.md new file mode 100644 index 00000000..cbcf6ce8 --- /dev/null +++ b/docs/sdks/employees/README.md @@ -0,0 +1,734 @@ +# Employees +(*Hris.Employees*) + +## Overview + +### Available Operations + +* [List](#list) - List Employees +* [Create](#create) - Create Employee +* [Get](#get) - Get Employee +* [Update](#update) - Update Employee +* [Delete](#delete) - Delete Employee + +## List + +Apideck operates as a stateless Unified API, which means that the list endpoint only provides a portion of the employee model. This is due to the fact that most HRIS systems do not readily provide all data in every call. However, you can access the complete employee model through an employee detail call. + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisEmployeesAllRequest req = new HrisEmployeesAllRequest() { + ServiceId = "salesforce", + Filter = new EmployeesFilter() { + CompanyId = "1234", + Email = "elon@tesla.com", + FirstName = "Elon", + Title = "Manager", + LastName = "Musk", + ManagerId = "1234", + EmploymentStatus = Apideck.Unify.SDK.Models.Components.EmployeesFilterEmploymentStatus.Active, + EmployeeNumber = "123456-AB", + DepartmentId = "1234", + }, + Sort = new EmployeesSort() { + By = Apideck.Unify.SDK.Models.Components.EmployeesSortBy.CreatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Hris.Employees.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `request` | [HrisEmployeesAllRequest](../../Models/Requests/HrisEmployeesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisEmployeesAllResponse](../../Models/Requests/HrisEmployeesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Employee + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisEmployeesAddRequest req = new HrisEmployeesAddRequest() { + Employee = new EmployeeInput() { + Id = "12345", + FirstName = "Elon", + LastName = "Musk", + MiddleName = "D.", + DisplayName = "Technoking", + PreferredName = "Elon Musk", + Initials = "EM", + Salutation = "Mr", + Title = "CEO", + MaritalStatus = "married", + Partner = new PersonInput() { + FirstName = "Elon", + LastName = "Musk", + MiddleName = "D.", + Gender = Apideck.Unify.SDK.Models.Components.Gender.Male, + Initials = "EM", + Birthday = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")), + DeceasedOn = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")), + }, + Division = "Europe", + DivisionId = "12345", + DepartmentId = "12345", + DepartmentName = "12345", + Team = new Team() { + Id = "1234", + Name = "Full Stack Engineers", + }, + CompanyId = "23456", + CompanyName = "SpaceX", + EmploymentStartDate = "2021-10-26", + EmploymentEndDate = "2028-10-26", + LeavingReason = Apideck.Unify.SDK.Models.Components.LeavingReason.Resigned, + EmployeeNumber = "123456-AB", + EmploymentStatus = Apideck.Unify.SDK.Models.Components.EmploymentStatus.Active, + Ethnicity = "African American", + Manager = new Manager() { + Id = "12345", + Name = "Elon Musk", + FirstName = "Elon", + LastName = "Musk", + Email = "elon@musk.com", + EmploymentStatus = Apideck.Unify.SDK.Models.Components.EmploymentStatus.Active, + }, + DirectReports = new List() { + "a0d636c6-43b3-4bde-8c70-85b707d992f4", + "a98lfd96-43b3-4bde-8c70-85b707d992e6", + }, + SocialSecurityNumber = "123456789", + Birthday = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")), + DeceasedOn = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")), + CountryOfBirth = "US", + Description = "A description", + Gender = Apideck.Unify.SDK.Models.Components.Gender.Male, + Pronouns = "she,her", + PreferredLanguage = "EN", + Languages = new List() { + "EN", + }, + Nationalities = new List() { + "US", + }, + PhotoUrl = "https://unavatar.io/elon-musk", + Timezone = "Europe/London", + Source = "lever", + SourceId = "12345", + RecordUrl = "https://app.intercom.io/contacts/12345", + Jobs = new List() { + new EmployeeJobInput() { + Title = "CEO", + Role = "Sales", + StartDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-08-12")), + EndDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-08-12")), + CompensationRate = 72000D, + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + PaymentUnit = Apideck.Unify.SDK.Models.Components.PaymentUnit.Year, + HiredAt = LocalDate.FromDateTime(System.DateTime.Parse("2020-08-12")), + IsPrimary = true, + IsManager = true, + Status = Apideck.Unify.SDK.Models.Components.EmployeeJobStatus.Active, + Location = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + }, + Compensations = new List() { + new EmployeeCompensationInput() { + Rate = 50D, + PaymentUnit = Apideck.Unify.SDK.Models.Components.PaymentUnit.Hour, + FlsaStatus = Apideck.Unify.SDK.Models.Components.FlsaStatus.Nonexempt, + EffectiveDate = "2021-06-11", + }, + }, + WorksRemote = true, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateBoolean( + true + ), + }, + }, + SocialLinks = new List() { + new SocialLink() { + Id = "12345", + Url = "https://www.twitter.com/apideck", + Type = "twitter", + }, + }, + BankAccounts = new List() { + new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + }, + TaxCode = "1111", + TaxId = "234-32-0000", + DietaryPreference = "Veggie", + FoodAllergies = new List() { + "No allergies", + }, + ProbationPeriod = new ProbationPeriod() { + StartDate = LocalDate.FromDateTime(System.DateTime.Parse("2021-10-01")), + EndDate = LocalDate.FromDateTime(System.DateTime.Parse("2021-11-28")), + }, + Tags = new List() { + "New", + }, + RowVersion = "1-12345", + Deleted = true, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Hris.Employees.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `request` | [HrisEmployeesAddRequest](../../Models/Requests/HrisEmployeesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisEmployeesAddResponse](../../Models/Requests/HrisEmployeesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Employee + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisEmployeesOneRequest req = new HrisEmployeesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", + Filter = new EmployeesOneFilter() { + CompanyId = "1234", + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, +}; + +var res = await sdk.Hris.Employees.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `request` | [HrisEmployeesOneRequest](../../Models/Requests/HrisEmployeesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisEmployeesOneResponse](../../Models/Requests/HrisEmployeesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Employee + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisEmployeesUpdateRequest req = new HrisEmployeesUpdateRequest() { + Id = "", + Employee = new EmployeeInput() { + Id = "12345", + FirstName = "Elon", + LastName = "Musk", + MiddleName = "D.", + DisplayName = "Technoking", + PreferredName = "Elon Musk", + Initials = "EM", + Salutation = "Mr", + Title = "CEO", + MaritalStatus = "married", + Partner = new PersonInput() { + FirstName = "Elon", + LastName = "Musk", + MiddleName = "D.", + Gender = Apideck.Unify.SDK.Models.Components.Gender.Male, + Initials = "EM", + Birthday = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")), + DeceasedOn = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")), + }, + Division = "Europe", + DivisionId = "12345", + DepartmentId = "12345", + DepartmentName = "12345", + Team = new Team() { + Id = "1234", + Name = "Full Stack Engineers", + }, + CompanyId = "23456", + CompanyName = "SpaceX", + EmploymentStartDate = "2021-10-26", + EmploymentEndDate = "2028-10-26", + LeavingReason = Apideck.Unify.SDK.Models.Components.LeavingReason.Resigned, + EmployeeNumber = "123456-AB", + EmploymentStatus = Apideck.Unify.SDK.Models.Components.EmploymentStatus.Active, + Ethnicity = "African American", + Manager = new Manager() { + Id = "12345", + Name = "Elon Musk", + FirstName = "Elon", + LastName = "Musk", + Email = "elon@musk.com", + EmploymentStatus = Apideck.Unify.SDK.Models.Components.EmploymentStatus.Active, + }, + DirectReports = new List() { + "a0d636c6-43b3-4bde-8c70-85b707d992f4", + "a98lfd96-43b3-4bde-8c70-85b707d992e6", + }, + SocialSecurityNumber = "123456789", + Birthday = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")), + DeceasedOn = LocalDate.FromDateTime(System.DateTime.Parse("2000-08-12")), + CountryOfBirth = "US", + Description = "A description", + Gender = Apideck.Unify.SDK.Models.Components.Gender.Male, + Pronouns = "she,her", + PreferredLanguage = "EN", + Languages = new List() { + "EN", + }, + Nationalities = new List() { + "US", + }, + PhotoUrl = "https://unavatar.io/elon-musk", + Timezone = "Europe/London", + Source = "lever", + SourceId = "12345", + RecordUrl = "https://app.intercom.io/contacts/12345", + Jobs = new List() { + new EmployeeJobInput() { + Title = "CEO", + Role = "Sales", + StartDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-08-12")), + EndDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-08-12")), + CompensationRate = 72000D, + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + PaymentUnit = Apideck.Unify.SDK.Models.Components.PaymentUnit.Year, + HiredAt = LocalDate.FromDateTime(System.DateTime.Parse("2020-08-12")), + IsPrimary = true, + IsManager = true, + Status = Apideck.Unify.SDK.Models.Components.EmployeeJobStatus.Active, + Location = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + }, + Compensations = new List() { + new EmployeeCompensationInput() { + Rate = 50D, + PaymentUnit = Apideck.Unify.SDK.Models.Components.PaymentUnit.Hour, + FlsaStatus = Apideck.Unify.SDK.Models.Components.FlsaStatus.Nonexempt, + EffectiveDate = "2021-06-11", + }, + }, + WorksRemote = true, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateArrayOf6( + new List() { + new Six() {}, + } + ), + }, + }, + SocialLinks = new List() { + new SocialLink() { + Id = "12345", + Url = "https://www.twitter.com/apideck", + Type = "twitter", + }, + }, + BankAccounts = new List() { + new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + }, + TaxCode = "1111", + TaxId = "234-32-0000", + DietaryPreference = "Veggie", + FoodAllergies = new List() { + "No allergies", + }, + ProbationPeriod = new ProbationPeriod() { + StartDate = LocalDate.FromDateTime(System.DateTime.Parse("2021-10-01")), + EndDate = LocalDate.FromDateTime(System.DateTime.Parse("2021-11-28")), + }, + Tags = new List() { + "New", + }, + RowVersion = "1-12345", + Deleted = true, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Hris.Employees.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `request` | [HrisEmployeesUpdateRequest](../../Models/Requests/HrisEmployeesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisEmployeesUpdateResponse](../../Models/Requests/HrisEmployeesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Employee + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisEmployeesDeleteRequest req = new HrisEmployeesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Hris.Employees.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `request` | [HrisEmployeesDeleteRequest](../../Models/Requests/HrisEmployeesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisEmployeesDeleteResponse](../../Models/Requests/HrisEmployeesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/employeeschedules/README.md b/docs/sdks/employeeschedules/README.md new file mode 100644 index 00000000..6f9cf340 --- /dev/null +++ b/docs/sdks/employeeschedules/README.md @@ -0,0 +1,61 @@ +# EmployeeSchedules +(*Hris.EmployeeSchedules*) + +## Overview + +### Available Operations + +* [List](#list) - List Employee Schedules + +## List + +List schedules for employee, a schedule is a work pattern, not the actual worked hours, for an employee. + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using System.Collections.Generic; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisEmployeeSchedulesAllRequest req = new HrisEmployeeSchedulesAllRequest() { + EmployeeId = "", + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Hris.EmployeeSchedules.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [HrisEmployeeSchedulesAllRequest](../../Models/Requests/HrisEmployeeSchedulesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisEmployeeSchedulesAllResponse](../../Models/Requests/HrisEmployeeSchedulesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/expenses/README.md b/docs/sdks/expenses/README.md new file mode 100644 index 00000000..65ad6850 --- /dev/null +++ b/docs/sdks/expenses/README.md @@ -0,0 +1,386 @@ +# Expenses +(*Accounting.Expenses*) + +## Overview + +### Available Operations + +* [List](#list) - List Expenses +* [Create](#create) - Create Expense +* [Get](#get) - Get Expense +* [Update](#update) - Update Expense +* [Delete](#delete) - Delete Expense + +## List + +List Expenses + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingExpensesAllRequest req = new AccountingExpensesAllRequest() { + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Expenses.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AccountingExpensesAllRequest](../../Models/Requests/AccountingExpensesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingExpensesAllResponse](../../Models/Requests/AccountingExpensesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Expense + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingExpensesAddRequest req = new AccountingExpensesAddRequest() { + Expense = new ExpenseInput() { + Number = "OIT00546", + TransactionDate = System.DateTime.Parse("2021-05-01T12:00:00.000Z"), + AccountId = "123456", + CustomerId = "12345", + SupplierId = "12345", + CompanyId = "12345", + DepartmentId = "12345", + PaymentType = Apideck.Unify.SDK.Models.Components.ExpensePaymentType.Cash, + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CurrencyRate = 0.69D, + Type = Apideck.Unify.SDK.Models.Components.ExpenseType.Expense, + Memo = "For travel expenses incurred on 2024-05-15", + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + TotalAmount = 275D, + LineItems = new List() { + new ExpenseLineItemInput() { + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + AccountId = "123456", + CustomerId = "12345", + DepartmentId = "12345", + LocationId = "12345", + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + Description = "Travel US.", + TotalAmount = 275D, + Billable = true, + }, + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateBoolean( + true + ), + }, + }, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Expenses.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AccountingExpensesAddRequest](../../Models/Requests/AccountingExpensesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingExpensesAddResponse](../../Models/Requests/AccountingExpensesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Expense + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingExpensesOneRequest req = new AccountingExpensesOneRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Expenses.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AccountingExpensesOneRequest](../../Models/Requests/AccountingExpensesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingExpensesOneResponse](../../Models/Requests/AccountingExpensesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Expense + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingExpensesUpdateRequest req = new AccountingExpensesUpdateRequest() { + Id = "", + Expense = new ExpenseInput() { + Number = "OIT00546", + TransactionDate = System.DateTime.Parse("2021-05-01T12:00:00.000Z"), + AccountId = "123456", + CustomerId = "12345", + SupplierId = "12345", + CompanyId = "12345", + DepartmentId = "12345", + PaymentType = Apideck.Unify.SDK.Models.Components.ExpensePaymentType.Cash, + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CurrencyRate = 0.69D, + Type = Apideck.Unify.SDK.Models.Components.ExpenseType.Expense, + Memo = "For travel expenses incurred on 2024-05-15", + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + TotalAmount = 275D, + LineItems = new List() { + new ExpenseLineItemInput() { + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + AccountId = "123456", + CustomerId = "12345", + DepartmentId = "12345", + LocationId = "12345", + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + Description = "Travel US.", + TotalAmount = 275D, + Billable = true, + }, + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateArrayOf6( + new List() { + new Six() {}, + } + ), + }, + }, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Expenses.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingExpensesUpdateRequest](../../Models/Requests/AccountingExpensesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingExpensesUpdateResponse](../../Models/Requests/AccountingExpensesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Expense + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingExpensesDeleteRequest req = new AccountingExpensesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Expenses.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingExpensesDeleteRequest](../../Models/Requests/AccountingExpensesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingExpensesDeleteResponse](../../Models/Requests/AccountingExpensesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/files/README.md b/docs/sdks/files/README.md new file mode 100644 index 00000000..cdae05e5 --- /dev/null +++ b/docs/sdks/files/README.md @@ -0,0 +1,400 @@ +# Files +(*FileStorage.Files*) + +## Overview + +### Available Operations + +* [List](#list) - List Files +* [Search](#search) - Search Files +* [Get](#get) - Get File +* [Update](#update) - Rename or move File +* [Delete](#delete) - Delete File +* [Download](#download) - Download File +* [Export](#export) - Export File + +## List + +List Files + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageFilesAllRequest req = new FileStorageFilesAllRequest() { + ServiceId = "salesforce", + Filter = new FilesFilter() { + DriveId = "1234", + FolderId = "root", + Shared = true, + }, + Sort = new FilesSort() { + By = Apideck.Unify.SDK.Models.Components.FilesSortBy.UpdatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.FileStorage.Files.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `request` | [FileStorageFilesAllRequest](../../Models/Requests/FileStorageFilesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageFilesAllResponse](../../Models/Requests/FileStorageFilesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Search + +Search Files + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageFilesSearchRequest req = new FileStorageFilesSearchRequest() { + FilesSearch = new FilesSearch() { + Query = "logo jpg", + }, + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", + Filter = new FilesFilter() { + DriveId = "1234", + FolderId = "root", + Shared = true, + }, +}; + +var res = await sdk.FileStorage.Files.SearchAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [FileStorageFilesSearchRequest](../../Models/Requests/FileStorageFilesSearchRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageFilesSearchResponse](../../Models/Requests/FileStorageFilesSearchResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get File + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageFilesOneRequest req = new FileStorageFilesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.FileStorage.Files.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `request` | [FileStorageFilesOneRequest](../../Models/Requests/FileStorageFilesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageFilesOneResponse](../../Models/Requests/FileStorageFilesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Rename or move File + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageFilesUpdateRequest req = new FileStorageFilesUpdateRequest() { + Id = "", + UpdateFileRequest = new UpdateFileRequest() { + Name = "New Name.pdf", + Description = "Renamed PDF Document", + ParentFolderId = "1234", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.Files.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [FileStorageFilesUpdateRequest](../../Models/Requests/FileStorageFilesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageFilesUpdateResponse](../../Models/Requests/FileStorageFilesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete File + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageFilesDeleteRequest req = new FileStorageFilesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.Files.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [FileStorageFilesDeleteRequest](../../Models/Requests/FileStorageFilesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageFilesDeleteResponse](../../Models/Requests/FileStorageFilesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Download + +Download File + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageFilesDownloadRequest req = new FileStorageFilesDownloadRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.FileStorage.Files.DownloadAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [FileStorageFilesDownloadRequest](../../Models/Requests/FileStorageFilesDownloadRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageFilesDownloadResponse](../../Models/Requests/FileStorageFilesDownloadResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Export + +Export File + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageFilesExportRequest req = new FileStorageFilesExportRequest() { + Id = "", + Format = "pdf", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.FileStorage.Files.ExportAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [FileStorageFilesExportRequest](../../Models/Requests/FileStorageFilesExportRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageFilesExportResponse](../../Models/Requests/FileStorageFilesExportResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/filestorage/README.md b/docs/sdks/filestorage/README.md new file mode 100644 index 00000000..a591464e --- /dev/null +++ b/docs/sdks/filestorage/README.md @@ -0,0 +1,6 @@ +# FileStorage +(*FileStorage*) + +## Overview + +### Available Operations diff --git a/docs/sdks/folders/README.md b/docs/sdks/folders/README.md new file mode 100644 index 00000000..653c3aec --- /dev/null +++ b/docs/sdks/folders/README.md @@ -0,0 +1,317 @@ +# Folders +(*FileStorage.Folders*) + +## Overview + +### Available Operations + +* [Create](#create) - Create Folder +* [Get](#get) - Get Folder +* [Update](#update) - Rename or move Folder +* [Delete](#delete) - Delete Folder +* [Copy](#copy) - Copy Folder + +## Create + +Create Folder + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageFoldersAddRequest req = new FileStorageFoldersAddRequest() { + CreateFolderRequest = new CreateFolderRequest() { + Name = "Documents", + Description = "My Personal Documents", + ParentFolderId = "1234", + DriveId = "1234", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.FileStorage.Folders.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [FileStorageFoldersAddRequest](../../Models/Requests/FileStorageFoldersAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageFoldersAddResponse](../../Models/Requests/FileStorageFoldersAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Folder + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageFoldersOneRequest req = new FileStorageFoldersOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.FileStorage.Folders.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [FileStorageFoldersOneRequest](../../Models/Requests/FileStorageFoldersOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageFoldersOneResponse](../../Models/Requests/FileStorageFoldersOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Rename or move Folder + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageFoldersUpdateRequest req = new FileStorageFoldersUpdateRequest() { + Id = "", + UpdateFolderRequest = new UpdateFolderRequest() { + Name = "Documents", + Description = "My Personal Documents", + ParentFolderId = "1234", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.Folders.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [FileStorageFoldersUpdateRequest](../../Models/Requests/FileStorageFoldersUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageFoldersUpdateResponse](../../Models/Requests/FileStorageFoldersUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Folder + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageFoldersDeleteRequest req = new FileStorageFoldersDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.Folders.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [FileStorageFoldersDeleteRequest](../../Models/Requests/FileStorageFoldersDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageFoldersDeleteResponse](../../Models/Requests/FileStorageFoldersDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Copy + +Copy Folder + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageFoldersCopyRequest req = new FileStorageFoldersCopyRequest() { + Id = "", + CopyFolderRequest = new CopyFolderRequest() { + Name = "Documents", + ParentFolderId = "1234", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.FileStorage.Folders.CopyAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [FileStorageFoldersCopyRequest](../../Models/Requests/FileStorageFoldersCopyRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageFoldersCopyResponse](../../Models/Requests/FileStorageFoldersCopyResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/hris/README.md b/docs/sdks/hris/README.md new file mode 100644 index 00000000..3c90f040 --- /dev/null +++ b/docs/sdks/hris/README.md @@ -0,0 +1,6 @@ +# Hris +(*Hris*) + +## Overview + +### Available Operations diff --git a/docs/sdks/invoiceitems/README.md b/docs/sdks/invoiceitems/README.md new file mode 100644 index 00000000..ba966d7f --- /dev/null +++ b/docs/sdks/invoiceitems/README.md @@ -0,0 +1,405 @@ +# InvoiceItems +(*Accounting.InvoiceItems*) + +## Overview + +### Available Operations + +* [List](#list) - List Invoice Items +* [Create](#create) - Create Invoice Item +* [Get](#get) - Get Invoice Item +* [Update](#update) - Update Invoice Item +* [Delete](#delete) - Delete Invoice Item + +## List + +List Invoice Items + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingInvoiceItemsAllRequest req = new AccountingInvoiceItemsAllRequest() { + ServiceId = "salesforce", + Filter = new InvoiceItemsFilter() { + Name = "Widgets Large", + Type = Apideck.Unify.SDK.Models.Components.InvoiceItemType.Service, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.InvoiceItems.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingInvoiceItemsAllRequest](../../Models/Requests/AccountingInvoiceItemsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingInvoiceItemsAllResponse](../../Models/Requests/AccountingInvoiceItemsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Invoice Item + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingInvoiceItemsAddRequest req = new AccountingInvoiceItemsAddRequest() { + InvoiceItem = new InvoiceItemInput() { + Name = "Model Y", + Description = "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", + Code = "120-C", + Sold = true, + Purchased = true, + Tracked = true, + Taxable = true, + InventoryDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-10-30")), + Type = Apideck.Unify.SDK.Models.Components.InvoiceItemTypeType.Inventory, + SalesDetails = new InvoiceItemSalesDetails() { + UnitPrice = 27500.5D, + UnitOfMeasure = "pc.", + TaxInclusive = true, + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + }, + PurchaseDetails = new InvoiceItemPurchaseDetails() { + UnitPrice = 27500.5D, + UnitOfMeasure = "pc.", + TaxInclusive = true, + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + }, + Quantity = 1D, + UnitPrice = 27500.5D, + AssetAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + IncomeAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + ExpenseAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + Active = true, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.InvoiceItems.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingInvoiceItemsAddRequest](../../Models/Requests/AccountingInvoiceItemsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingInvoiceItemsAddResponse](../../Models/Requests/AccountingInvoiceItemsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Invoice Item + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingInvoiceItemsOneRequest req = new AccountingInvoiceItemsOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", + Filter = new InvoiceItemFilter() { + Type = Apideck.Unify.SDK.Models.Components.InvoiceItemFilterInvoiceItemType.Service, + }, +}; + +var res = await sdk.Accounting.InvoiceItems.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingInvoiceItemsOneRequest](../../Models/Requests/AccountingInvoiceItemsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingInvoiceItemsOneResponse](../../Models/Requests/AccountingInvoiceItemsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Invoice Item + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingInvoiceItemsUpdateRequest req = new AccountingInvoiceItemsUpdateRequest() { + Id = "", + InvoiceItem = new InvoiceItemInput() { + Name = "Model Y", + Description = "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", + Code = "120-C", + Sold = true, + Purchased = true, + Tracked = true, + Taxable = true, + InventoryDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-10-30")), + Type = Apideck.Unify.SDK.Models.Components.InvoiceItemTypeType.Inventory, + SalesDetails = new InvoiceItemSalesDetails() { + UnitPrice = 27500.5D, + UnitOfMeasure = "pc.", + TaxInclusive = true, + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + }, + PurchaseDetails = new InvoiceItemPurchaseDetails() { + UnitPrice = 27500.5D, + UnitOfMeasure = "pc.", + TaxInclusive = true, + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + }, + Quantity = 1D, + UnitPrice = 27500.5D, + AssetAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + IncomeAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + ExpenseAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + Active = true, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.InvoiceItems.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `request` | [AccountingInvoiceItemsUpdateRequest](../../Models/Requests/AccountingInvoiceItemsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingInvoiceItemsUpdateResponse](../../Models/Requests/AccountingInvoiceItemsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Invoice Item + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingInvoiceItemsDeleteRequest req = new AccountingInvoiceItemsDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.InvoiceItems.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `request` | [AccountingInvoiceItemsDeleteRequest](../../Models/Requests/AccountingInvoiceItemsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingInvoiceItemsDeleteResponse](../../Models/Requests/AccountingInvoiceItemsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/invoices/README.md b/docs/sdks/invoices/README.md new file mode 100644 index 00000000..d027b277 --- /dev/null +++ b/docs/sdks/invoices/README.md @@ -0,0 +1,645 @@ +# Invoices +(*Accounting.Invoices*) + +## Overview + +### Available Operations + +* [List](#list) - List Invoices +* [Create](#create) - Create Invoice +* [Get](#get) - Get Invoice +* [Update](#update) - Update Invoice +* [Delete](#delete) - Delete Invoice + +## List + +List Invoices + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingInvoicesAllRequest req = new AccountingInvoicesAllRequest() { + ServiceId = "salesforce", + Filter = new InvoicesFilter() { + UpdatedSince = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + CreatedSince = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + Number = "OIT00546", + }, + Sort = new InvoicesSort() { + By = Apideck.Unify.SDK.Models.Components.InvoicesSortBy.UpdatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Invoices.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AccountingInvoicesAllRequest](../../Models/Requests/AccountingInvoicesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingInvoicesAllResponse](../../Models/Requests/AccountingInvoicesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Invoice + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingInvoicesAddRequest req = new AccountingInvoicesAddRequest() { + Invoice = new InvoiceInput() { + Type = Apideck.Unify.SDK.Models.Components.InvoiceType.Service, + Number = "OIT00546", + Customer = new LinkedCustomerInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Email = "boring@boring.com", + }, + CompanyId = "12345", + InvoiceDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-09-30")), + DueDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-09-30")), + Terms = "Net 30 days", + PoNumber = "90000117", + Reference = "123456", + Status = Apideck.Unify.SDK.Models.Components.InvoiceStatus.Draft, + InvoiceSent = true, + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CurrencyRate = 0.69D, + TaxInclusive = true, + SubTotal = 27500D, + TotalTax = 2500D, + TaxCode = "1234", + DiscountPercentage = 5.5D, + DiscountAmount = 25D, + Total = 27500D, + Balance = 27500D, + Deposit = 0D, + CustomerMemo = "Thank you for your business and have a great day!", + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + LineItems = new List() { + new InvoiceLineItemInput() { + Id = "12345", + RowId = "12345", + Code = "120-C", + LineNumber = 1, + Description = "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", + Type = Apideck.Unify.SDK.Models.Components.InvoiceLineItemType.SalesItem, + TaxAmount = 27500D, + TotalAmount = 27500D, + Quantity = 1D, + UnitPrice = 27500.5D, + UnitOfMeasure = "pc.", + DiscountPercentage = 0.01D, + DiscountAmount = 19.99D, + LocationId = "1234", + DepartmentId = "1234", + Item = new LinkedInvoiceItem() { + Id = "12344", + Code = "120-C", + Name = "Model Y", + }, + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateBoolean( + true + ), + }, + }, + RowVersion = "1-12345", + }, + }, + BillingAddress = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + ShippingAddress = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + TemplateId = "123456", + SourceDocumentUrl = "https://www.invoicesolution.com/invoice/123456", + PaymentMethod = "cash", + Channel = "email", + Language = "EN", + AccountingByRow = false, + BankAccount = new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateFour( + new Four() {} + ), + }, + }, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Invoices.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AccountingInvoicesAddRequest](../../Models/Requests/AccountingInvoicesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingInvoicesAddResponse](../../Models/Requests/AccountingInvoicesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Invoice + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingInvoicesOneRequest req = new AccountingInvoicesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Invoices.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AccountingInvoicesOneRequest](../../Models/Requests/AccountingInvoicesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingInvoicesOneResponse](../../Models/Requests/AccountingInvoicesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Invoice + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingInvoicesUpdateRequest req = new AccountingInvoicesUpdateRequest() { + Id = "", + Invoice = new InvoiceInput() { + Type = Apideck.Unify.SDK.Models.Components.InvoiceType.Service, + Number = "OIT00546", + Customer = new LinkedCustomerInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Email = "boring@boring.com", + }, + CompanyId = "12345", + InvoiceDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-09-30")), + DueDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-09-30")), + Terms = "Net 30 days", + PoNumber = "90000117", + Reference = "123456", + Status = Apideck.Unify.SDK.Models.Components.InvoiceStatus.Draft, + InvoiceSent = true, + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CurrencyRate = 0.69D, + TaxInclusive = true, + SubTotal = 27500D, + TotalTax = 2500D, + TaxCode = "1234", + DiscountPercentage = 5.5D, + DiscountAmount = 25D, + Total = 27500D, + Balance = 27500D, + Deposit = 0D, + CustomerMemo = "Thank you for your business and have a great day!", + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + LineItems = new List() { + new InvoiceLineItemInput() { + Id = "12345", + RowId = "12345", + Code = "120-C", + LineNumber = 1, + Description = "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", + Type = Apideck.Unify.SDK.Models.Components.InvoiceLineItemType.SalesItem, + TaxAmount = 27500D, + TotalAmount = 27500D, + Quantity = 1D, + UnitPrice = 27500.5D, + UnitOfMeasure = "pc.", + DiscountPercentage = 0.01D, + DiscountAmount = 19.99D, + LocationId = "1234", + DepartmentId = "1234", + Item = new LinkedInvoiceItem() { + Id = "12344", + Code = "120-C", + Name = "Model Y", + }, + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateArrayOf6( + new List() { + new Six() {}, + } + ), + }, + }, + RowVersion = "1-12345", + }, + }, + BillingAddress = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + ShippingAddress = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + TemplateId = "123456", + SourceDocumentUrl = "https://www.invoicesolution.com/invoice/123456", + PaymentMethod = "cash", + Channel = "email", + Language = "EN", + AccountingByRow = false, + BankAccount = new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateFour( + new Four() {} + ), + }, + }, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Invoices.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingInvoicesUpdateRequest](../../Models/Requests/AccountingInvoicesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingInvoicesUpdateResponse](../../Models/Requests/AccountingInvoicesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Invoice + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingInvoicesDeleteRequest req = new AccountingInvoicesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Invoices.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingInvoicesDeleteRequest](../../Models/Requests/AccountingInvoicesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingInvoicesDeleteResponse](../../Models/Requests/AccountingInvoicesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/issuetracking/README.md b/docs/sdks/issuetracking/README.md new file mode 100644 index 00000000..d05c93fa --- /dev/null +++ b/docs/sdks/issuetracking/README.md @@ -0,0 +1,6 @@ +# IssueTracking +(*IssueTracking*) + +## Overview + +### Available Operations diff --git a/docs/sdks/jobs/README.md b/docs/sdks/jobs/README.md new file mode 100644 index 00000000..ad6c046f --- /dev/null +++ b/docs/sdks/jobs/README.md @@ -0,0 +1,110 @@ +# Jobs +(*Ats.Jobs*) + +## Overview + +### Available Operations + +* [List](#list) - List Jobs +* [Get](#get) - Get Job + +## List + +List Jobs + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using System.Collections.Generic; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AtsJobsAllRequest req = new AtsJobsAllRequest() { + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Ats.Jobs.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `request` | [AtsJobsAllRequest](../../Models/Requests/AtsJobsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AtsJobsAllResponse](../../Models/Requests/AtsJobsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Job + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AtsJobsOneRequest req = new AtsJobsOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Ats.Jobs.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `request` | [AtsJobsOneRequest](../../Models/Requests/AtsJobsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AtsJobsOneResponse](../../Models/Requests/AtsJobsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/journalentries/README.md b/docs/sdks/journalentries/README.md new file mode 100644 index 00000000..1d5bff43 --- /dev/null +++ b/docs/sdks/journalentries/README.md @@ -0,0 +1,455 @@ +# JournalEntries +(*Accounting.JournalEntries*) + +## Overview + +### Available Operations + +* [List](#list) - List Journal Entries +* [Create](#create) - Create Journal Entry +* [Get](#get) - Get Journal Entry +* [Update](#update) - Update Journal Entry +* [Delete](#delete) - Delete Journal Entry + +## List + +List Journal Entries + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingJournalEntriesAllRequest req = new AccountingJournalEntriesAllRequest() { + ServiceId = "salesforce", + Filter = new JournalEntriesFilter() { + UpdatedSince = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + }, + Sort = new JournalEntriesSort() { + By = Apideck.Unify.SDK.Models.Components.JournalEntriesSortBy.UpdatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.JournalEntries.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [AccountingJournalEntriesAllRequest](../../Models/Requests/AccountingJournalEntriesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingJournalEntriesAllResponse](../../Models/Requests/AccountingJournalEntriesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Journal Entry + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingJournalEntriesAddRequest req = new AccountingJournalEntriesAddRequest() { + JournalEntry = new JournalEntryInput() { + Title = "Purchase Invoice-Inventory (USD): 2019/02/01 Batch Summary Entry", + CurrencyRate = 0.69D, + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CompanyId = "12345", + LineItems = new List() { + new JournalEntryLineItemInput() { + Description = "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", + TaxAmount = 27500D, + SubTotal = 27500D, + TotalAmount = 27500D, + Type = Apideck.Unify.SDK.Models.Components.JournalEntryLineItemType.Debit, + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + Customer = new LinkedCustomerInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Email = "boring@boring.com", + }, + Supplier = new LinkedSupplierInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Address = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + LineNumber = 1, + }, + }, + Memo = "Thank you for your business and have a great day!", + PostedAt = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + JournalSymbol = "IND", + TaxType = "sales", + TaxCode = "1234", + Number = "OIT00546", + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + AccountingPeriod = "01-24", + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.JournalEntries.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [AccountingJournalEntriesAddRequest](../../Models/Requests/AccountingJournalEntriesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingJournalEntriesAddResponse](../../Models/Requests/AccountingJournalEntriesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Journal Entry + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingJournalEntriesOneRequest req = new AccountingJournalEntriesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.JournalEntries.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [AccountingJournalEntriesOneRequest](../../Models/Requests/AccountingJournalEntriesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingJournalEntriesOneResponse](../../Models/Requests/AccountingJournalEntriesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Journal Entry + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingJournalEntriesUpdateRequest req = new AccountingJournalEntriesUpdateRequest() { + Id = "", + JournalEntry = new JournalEntryInput() { + Title = "Purchase Invoice-Inventory (USD): 2019/02/01 Batch Summary Entry", + CurrencyRate = 0.69D, + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CompanyId = "12345", + LineItems = new List() { + new JournalEntryLineItemInput() { + Description = "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", + TaxAmount = 27500D, + SubTotal = 27500D, + TotalAmount = 27500D, + Type = Apideck.Unify.SDK.Models.Components.JournalEntryLineItemType.Debit, + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + Customer = new LinkedCustomerInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Email = "boring@boring.com", + }, + Supplier = new LinkedSupplierInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Address = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + LineNumber = 1, + }, + }, + Memo = "Thank you for your business and have a great day!", + PostedAt = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + JournalSymbol = "IND", + TaxType = "sales", + TaxCode = "1234", + Number = "OIT00546", + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + AccountingPeriod = "01-24", + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.JournalEntries.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `request` | [AccountingJournalEntriesUpdateRequest](../../Models/Requests/AccountingJournalEntriesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingJournalEntriesUpdateResponse](../../Models/Requests/AccountingJournalEntriesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Journal Entry + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingJournalEntriesDeleteRequest req = new AccountingJournalEntriesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.JournalEntries.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `request` | [AccountingJournalEntriesDeleteRequest](../../Models/Requests/AccountingJournalEntriesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingJournalEntriesDeleteResponse](../../Models/Requests/AccountingJournalEntriesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/leads/README.md b/docs/sdks/leads/README.md new file mode 100644 index 00000000..bb381941 --- /dev/null +++ b/docs/sdks/leads/README.md @@ -0,0 +1,482 @@ +# Leads +(*Crm.Leads*) + +## Overview + +### Available Operations + +* [List](#list) - List leads +* [Create](#create) - Create lead +* [Get](#get) - Get lead +* [Update](#update) - Update lead +* [Delete](#delete) - Delete lead + +## List + +List leads + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmLeadsAllRequest req = new CrmLeadsAllRequest() { + ServiceId = "salesforce", + Filter = new LeadsFilter() { + FirstName = "Elon", + LastName = "Musk", + Email = "elon@tesla.com", + PhoneNumber = "1234567890", + }, + Sort = new LeadsSort() { + By = Apideck.Unify.SDK.Models.Components.LeadsSortBy.CreatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Crm.Leads.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `request` | [CrmLeadsAllRequest](../../Models/Requests/CrmLeadsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmLeadsAllResponse](../../Models/Requests/CrmLeadsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create lead + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmLeadsAddRequest req = new CrmLeadsAddRequest() { + Lead = new LeadInput() { + Name = "Elon Musk", + CompanyName = "Spacex", + OwnerId = "54321", + OwnerName = "John Doe", + CompanyId = "2", + LeadId = "2", + LeadSource = "Cold Call", + FirstName = "Elon", + LastName = "Musk", + Description = "A thinker", + Prefix = "Sir", + Title = "CEO", + Language = "EN", + Status = "New", + MonetaryAmount = 75000D, + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + Fax = "+12129876543", + Websites = new List() { + new Website() { + Id = "12345", + Url = "http://example.com", + Type = Apideck.Unify.SDK.Models.Components.WebsiteType.Primary, + }, + }, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + SocialLinks = new List() { + new SocialLink() { + Id = "12345", + Url = "https://www.twitter.com/apideck", + Type = "twitter", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateBoolean( + true + ), + }, + }, + Tags = new List() { + "New", + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Leads.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `request` | [CrmLeadsAddRequest](../../Models/Requests/CrmLeadsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmLeadsAddResponse](../../Models/Requests/CrmLeadsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get lead + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmLeadsOneRequest req = new CrmLeadsOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Crm.Leads.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `request` | [CrmLeadsOneRequest](../../Models/Requests/CrmLeadsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmLeadsOneResponse](../../Models/Requests/CrmLeadsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update lead + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmLeadsUpdateRequest req = new CrmLeadsUpdateRequest() { + Id = "", + Lead = new LeadInput() { + Name = "Elon Musk", + CompanyName = "Spacex", + OwnerId = "54321", + OwnerName = "John Doe", + CompanyId = "2", + LeadId = "2", + LeadSource = "Cold Call", + FirstName = "Elon", + LastName = "Musk", + Description = "A thinker", + Prefix = "Sir", + Title = "CEO", + Language = "EN", + Status = "New", + MonetaryAmount = 75000D, + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + Fax = "+12129876543", + Websites = new List() { + new Website() { + Id = "12345", + Url = "http://example.com", + Type = Apideck.Unify.SDK.Models.Components.WebsiteType.Primary, + }, + }, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + SocialLinks = new List() { + new SocialLink() { + Id = "12345", + Url = "https://www.twitter.com/apideck", + Type = "twitter", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateArrayOf6( + new List() { + new Six() {}, + } + ), + }, + }, + Tags = new List() { + "New", + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Leads.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `request` | [CrmLeadsUpdateRequest](../../Models/Requests/CrmLeadsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmLeadsUpdateResponse](../../Models/Requests/CrmLeadsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete lead + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmLeadsDeleteRequest req = new CrmLeadsDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Leads.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `request` | [CrmLeadsDeleteRequest](../../Models/Requests/CrmLeadsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmLeadsDeleteResponse](../../Models/Requests/CrmLeadsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/ledgeraccounts/README.md b/docs/sdks/ledgeraccounts/README.md new file mode 100644 index 00000000..f5fab321 --- /dev/null +++ b/docs/sdks/ledgeraccounts/README.md @@ -0,0 +1,383 @@ +# LedgerAccounts +(*Accounting.LedgerAccounts*) + +## Overview + +### Available Operations + +* [List](#list) - List Ledger Accounts +* [Create](#create) - Create Ledger Account +* [Get](#get) - Get Ledger Account +* [Update](#update) - Update Ledger Account +* [Delete](#delete) - Delete Ledger Account + +## List + +List Ledger Accounts + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingLedgerAccountsAllRequest req = new AccountingLedgerAccountsAllRequest() { + ServiceId = "salesforce", + Filter = new LedgerAccountsFilter() { + UpdatedSince = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + }, + Sort = new LedgerAccountsSort() { + By = Apideck.Unify.SDK.Models.Components.LedgerAccountsSortBy.UpdatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.LedgerAccounts.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [AccountingLedgerAccountsAllRequest](../../Models/Requests/AccountingLedgerAccountsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingLedgerAccountsAllResponse](../../Models/Requests/AccountingLedgerAccountsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Ledger Account + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingLedgerAccountsAddRequest req = new AccountingLedgerAccountsAddRequest() { + LedgerAccount = new LedgerAccountInput() { + DisplayId = "1-12345", + Code = "453", + Classification = Apideck.Unify.SDK.Models.Components.Classification.Asset, + Type = Apideck.Unify.SDK.Models.Components.LedgerAccountType.Bank, + SubType = "CHECKING_ACCOUNT", + Name = "Bank account", + FullyQualifiedName = "Asset.Bank.Checking_Account", + Description = "Main checking account", + OpeningBalance = 75000D, + CurrentBalance = 20000D, + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + TaxType = "NONE", + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + Level = 1D, + Active = true, + Status = Apideck.Unify.SDK.Models.Components.AccountStatus.Active, + Header = true, + BankAccount = new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + ParentAccount = new ParentAccount() { + Id = "12345", + Name = "Bank Accounts", + DisplayId = "1-1100", + }, + SubAccount = false, + LastReconciliationDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-09-30")), + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.LedgerAccounts.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [AccountingLedgerAccountsAddRequest](../../Models/Requests/AccountingLedgerAccountsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingLedgerAccountsAddResponse](../../Models/Requests/AccountingLedgerAccountsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Ledger Account + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingLedgerAccountsOneRequest req = new AccountingLedgerAccountsOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.LedgerAccounts.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [AccountingLedgerAccountsOneRequest](../../Models/Requests/AccountingLedgerAccountsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingLedgerAccountsOneResponse](../../Models/Requests/AccountingLedgerAccountsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Ledger Account + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingLedgerAccountsUpdateRequest req = new AccountingLedgerAccountsUpdateRequest() { + Id = "", + LedgerAccount = new LedgerAccountInput() { + DisplayId = "1-12345", + Code = "453", + Classification = Apideck.Unify.SDK.Models.Components.Classification.Asset, + Type = Apideck.Unify.SDK.Models.Components.LedgerAccountType.Bank, + SubType = "CHECKING_ACCOUNT", + Name = "Bank account", + FullyQualifiedName = "Asset.Bank.Checking_Account", + Description = "Main checking account", + OpeningBalance = 75000D, + CurrentBalance = 20000D, + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + TaxType = "NONE", + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + Level = 1D, + Active = true, + Status = Apideck.Unify.SDK.Models.Components.AccountStatus.Active, + Header = true, + BankAccount = new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + ParentAccount = new ParentAccount() { + Id = "12345", + Name = "Bank Accounts", + DisplayId = "1-1100", + }, + SubAccount = false, + LastReconciliationDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-09-30")), + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.LedgerAccounts.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `request` | [AccountingLedgerAccountsUpdateRequest](../../Models/Requests/AccountingLedgerAccountsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingLedgerAccountsUpdateResponse](../../Models/Requests/AccountingLedgerAccountsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Ledger Account + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingLedgerAccountsDeleteRequest req = new AccountingLedgerAccountsDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.LedgerAccounts.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `request` | [AccountingLedgerAccountsDeleteRequest](../../Models/Requests/AccountingLedgerAccountsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingLedgerAccountsDeleteResponse](../../Models/Requests/AccountingLedgerAccountsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/locations/README.md b/docs/sdks/locations/README.md new file mode 100644 index 00000000..2821d5bc --- /dev/null +++ b/docs/sdks/locations/README.md @@ -0,0 +1,367 @@ +# Locations +(*Accounting.Locations*) + +## Overview + +### Available Operations + +* [List](#list) - List Locations +* [Create](#create) - Create Location +* [Get](#get) - Get Location +* [Update](#update) - Update Location +* [Delete](#delete) - Delete Location + +## List + +List Locations + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingLocationsAllRequest req = new AccountingLocationsAllRequest() { + ServiceId = "salesforce", + Fields = "id,updated_at", + Filter = new AccountingLocationsFilter() { + Subsidiary = "1", + }, +}; + +var res = await sdk.Accounting.Locations.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [AccountingLocationsAllRequest](../../Models/Requests/AccountingLocationsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingLocationsAllResponse](../../Models/Requests/AccountingLocationsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Location + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingLocationsAddRequest req = new AccountingLocationsAddRequest() { + AccountingLocation = new AccountingLocationInput() { + ParentId = "12345", + CompanyName = "SpaceX", + DisplayName = "11 UT - South Jordan", + Status = Apideck.Unify.SDK.Models.Components.LocationStatus.Active, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + Subsidiaries = new List() { + new SubsidiaryReferenceInput() { + Name = "SpaceX", + }, + }, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Locations.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [AccountingLocationsAddRequest](../../Models/Requests/AccountingLocationsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingLocationsAddResponse](../../Models/Requests/AccountingLocationsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Location + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingLocationsOneRequest req = new AccountingLocationsOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Locations.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [AccountingLocationsOneRequest](../../Models/Requests/AccountingLocationsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingLocationsOneResponse](../../Models/Requests/AccountingLocationsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Location + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingLocationsUpdateRequest req = new AccountingLocationsUpdateRequest() { + Id = "", + AccountingLocation = new AccountingLocationInput() { + ParentId = "12345", + CompanyName = "SpaceX", + DisplayName = "11 UT - South Jordan", + Status = Apideck.Unify.SDK.Models.Components.LocationStatus.Active, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + Subsidiaries = new List() { + new SubsidiaryReferenceInput() { + Name = "SpaceX", + }, + }, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Locations.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingLocationsUpdateRequest](../../Models/Requests/AccountingLocationsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingLocationsUpdateResponse](../../Models/Requests/AccountingLocationsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Location + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingLocationsDeleteRequest req = new AccountingLocationsDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Locations.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingLocationsDeleteRequest](../../Models/Requests/AccountingLocationsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingLocationsDeleteResponse](../../Models/Requests/AccountingLocationsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/logs/README.md b/docs/sdks/logs/README.md new file mode 100644 index 00000000..75d3d260 --- /dev/null +++ b/docs/sdks/logs/README.md @@ -0,0 +1,60 @@ +# Logs +(*Vault.Logs*) + +## Overview + +### Available Operations + +* [List](#list) - Get all consumer request logs + +## List + +This endpoint includes all consumer request logs. + + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +VaultLogsAllRequest req = new VaultLogsAllRequest() { + Filter = new LogsFilter() { + ConnectorId = "crm+salesforce", + StatusCode = 201D, + ExcludeUnifiedApis = "vault,proxy", + }, +}; + +var res = await sdk.Vault.Logs.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `request` | [VaultLogsAllRequest](../../Models/Requests/VaultLogsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[VaultLogsAllResponse](../../Models/Requests/VaultLogsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/messages/README.md b/docs/sdks/messages/README.md new file mode 100644 index 00000000..4c14f91a --- /dev/null +++ b/docs/sdks/messages/README.md @@ -0,0 +1,306 @@ +# Messages +(*Sms.Messages*) + +## Overview + +### Available Operations + +* [List](#list) - List Messages +* [Create](#create) - Create Message +* [Get](#get) - Get Message +* [Update](#update) - Update Message +* [Delete](#delete) - Delete Message + +## List + +List Messages + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +SmsMessagesAllRequest req = new SmsMessagesAllRequest() { + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Sms.Messages.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `request` | [SmsMessagesAllRequest](../../Models/Requests/SmsMessagesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[SmsMessagesAllResponse](../../Models/Requests/SmsMessagesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Message + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +SmsMessagesAddRequest req = new SmsMessagesAddRequest() { + Message = new MessageInput() { + From = "+15017122661", + To = "+15017122662", + Subject = "Picture", + Body = "Hi! How are you doing?", + Type = Apideck.Unify.SDK.Models.Components.MessageType.Sms, + ScheduledAt = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + WebhookUrl = "https://unify.apideck.com/webhook/webhooks/eyz329dkffdl4949/x/sms", + Reference = "CUST001", + MessagingServiceId = "123456", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Sms.Messages.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `request` | [SmsMessagesAddRequest](../../Models/Requests/SmsMessagesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[SmsMessagesAddResponse](../../Models/Requests/SmsMessagesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Message + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +SmsMessagesOneRequest req = new SmsMessagesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Sms.Messages.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `request` | [SmsMessagesOneRequest](../../Models/Requests/SmsMessagesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[SmsMessagesOneResponse](../../Models/Requests/SmsMessagesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Message + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +SmsMessagesUpdateRequest req = new SmsMessagesUpdateRequest() { + Id = "", + Message = new MessageInput() { + From = "+15017122661", + To = "+15017122662", + Subject = "Picture", + Body = "Hi! How are you doing?", + Type = Apideck.Unify.SDK.Models.Components.MessageType.Sms, + ScheduledAt = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + WebhookUrl = "https://unify.apideck.com/webhook/webhooks/eyz329dkffdl4949/x/sms", + Reference = "CUST001", + MessagingServiceId = "123456", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Sms.Messages.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `request` | [SmsMessagesUpdateRequest](../../Models/Requests/SmsMessagesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[SmsMessagesUpdateResponse](../../Models/Requests/SmsMessagesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Message + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +SmsMessagesDeleteRequest req = new SmsMessagesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Sms.Messages.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `request` | [SmsMessagesDeleteRequest](../../Models/Requests/SmsMessagesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[SmsMessagesDeleteResponse](../../Models/Requests/SmsMessagesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/notes/README.md b/docs/sdks/notes/README.md new file mode 100644 index 00000000..1f91377a --- /dev/null +++ b/docs/sdks/notes/README.md @@ -0,0 +1,308 @@ +# Notes +(*Crm.Notes*) + +## Overview + +### Available Operations + +* [List](#list) - List notes +* [Create](#create) - Create note +* [Get](#get) - Get note +* [Update](#update) - Update note +* [Delete](#delete) - Delete note + +## List + +List notes + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using System.Collections.Generic; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmNotesAllRequest req = new CrmNotesAllRequest() { + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Crm.Notes.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `request` | [CrmNotesAllRequest](../../Models/Requests/CrmNotesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmNotesAllResponse](../../Models/Requests/CrmNotesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create note + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmNotesAddRequest req = new CrmNotesAddRequest() { + Note = new NoteInput() { + Title = "Meeting Notes", + Content = "Office hours are 9AM-6PM", + OwnerId = "12345", + ContactId = "12345", + CompanyId = "12345", + OpportunityId = "12345", + LeadId = "12345", + Active = true, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Notes.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `request` | [CrmNotesAddRequest](../../Models/Requests/CrmNotesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmNotesAddResponse](../../Models/Requests/CrmNotesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get note + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmNotesOneRequest req = new CrmNotesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Crm.Notes.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `request` | [CrmNotesOneRequest](../../Models/Requests/CrmNotesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmNotesOneResponse](../../Models/Requests/CrmNotesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update note + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmNotesUpdateRequest req = new CrmNotesUpdateRequest() { + Id = "", + Note = new NoteInput() { + Title = "Meeting Notes", + Content = "Office hours are 9AM-6PM", + OwnerId = "12345", + ContactId = "12345", + CompanyId = "12345", + OpportunityId = "12345", + LeadId = "12345", + Active = true, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Notes.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `request` | [CrmNotesUpdateRequest](../../Models/Requests/CrmNotesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmNotesUpdateResponse](../../Models/Requests/CrmNotesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete note + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmNotesDeleteRequest req = new CrmNotesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Notes.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `request` | [CrmNotesDeleteRequest](../../Models/Requests/CrmNotesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmNotesDeleteResponse](../../Models/Requests/CrmNotesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/opportunities/README.md b/docs/sdks/opportunities/README.md new file mode 100644 index 00000000..86aa043d --- /dev/null +++ b/docs/sdks/opportunities/README.md @@ -0,0 +1,386 @@ +# Opportunities +(*Crm.Opportunities*) + +## Overview + +### Available Operations + +* [List](#list) - List opportunities +* [Create](#create) - Create opportunity +* [Get](#get) - Get opportunity +* [Update](#update) - Update opportunity +* [Delete](#delete) - Delete opportunity + +## List + +List opportunities + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmOpportunitiesAllRequest req = new CrmOpportunitiesAllRequest() { + ServiceId = "salesforce", + Filter = new OpportunitiesFilter() { + Status = "Completed", + MonetaryAmount = 75000D, + }, + Sort = new OpportunitiesSort() { + By = Apideck.Unify.SDK.Models.Components.OpportunitiesSortBy.CreatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Crm.Opportunities.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `request` | [CrmOpportunitiesAllRequest](../../Models/Requests/CrmOpportunitiesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmOpportunitiesAllResponse](../../Models/Requests/CrmOpportunitiesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create opportunity + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmOpportunitiesAddRequest req = new CrmOpportunitiesAddRequest() { + Opportunity = new OpportunityInput() { + Title = "New Rocket", + PrimaryContactId = "12345", + Description = "Opportunities are created for People and Companies that are interested in buying your products or services. Create Opportunities for People and Companies to move them through one of your Pipelines.", + Type = "Existing Customer - Upgrade", + MonetaryAmount = 75000D, + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + WinProbability = 40D, + CloseDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-10-30")), + LossReasonId = "12345", + LossReason = "No budget", + WonReasonId = "12345", + WonReason = "Best pitch", + PipelineId = "12345", + PipelineStageId = "12345", + SourceId = "12345", + LeadId = "12345", + LeadSource = "Website", + ContactId = "12345", + ContactIds = new List() { + "12345", + }, + CompanyId = "12345", + CompanyName = "Copper", + OwnerId = "12345", + Priority = "None", + Status = "Open", + StatusId = "12345", + Tags = new List() { + "New", + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateBoolean( + true + ), + }, + }, + StageLastChangedAt = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Opportunities.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `request` | [CrmOpportunitiesAddRequest](../../Models/Requests/CrmOpportunitiesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmOpportunitiesAddResponse](../../Models/Requests/CrmOpportunitiesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get opportunity + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmOpportunitiesOneRequest req = new CrmOpportunitiesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Crm.Opportunities.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `request` | [CrmOpportunitiesOneRequest](../../Models/Requests/CrmOpportunitiesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmOpportunitiesOneResponse](../../Models/Requests/CrmOpportunitiesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update opportunity + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmOpportunitiesUpdateRequest req = new CrmOpportunitiesUpdateRequest() { + Id = "", + Opportunity = new OpportunityInput() { + Title = "New Rocket", + PrimaryContactId = "12345", + Description = "Opportunities are created for People and Companies that are interested in buying your products or services. Create Opportunities for People and Companies to move them through one of your Pipelines.", + Type = "Existing Customer - Upgrade", + MonetaryAmount = 75000D, + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + WinProbability = 40D, + CloseDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-10-30")), + LossReasonId = "12345", + LossReason = "No budget", + WonReasonId = "12345", + WonReason = "Best pitch", + PipelineId = "12345", + PipelineStageId = "12345", + SourceId = "12345", + LeadId = "12345", + LeadSource = "Website", + ContactId = "12345", + ContactIds = new List() { + "12345", + }, + CompanyId = "12345", + CompanyName = "Copper", + OwnerId = "12345", + Priority = "None", + Status = "Open", + StatusId = "12345", + Tags = new List() { + "New", + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateArrayOf6( + new List() { + new Six() {}, + } + ), + }, + }, + StageLastChangedAt = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Opportunities.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [CrmOpportunitiesUpdateRequest](../../Models/Requests/CrmOpportunitiesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmOpportunitiesUpdateResponse](../../Models/Requests/CrmOpportunitiesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete opportunity + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmOpportunitiesDeleteRequest req = new CrmOpportunitiesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Opportunities.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [CrmOpportunitiesDeleteRequest](../../Models/Requests/CrmOpportunitiesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmOpportunitiesDeleteResponse](../../Models/Requests/CrmOpportunitiesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/orders/README.md b/docs/sdks/orders/README.md new file mode 100644 index 00000000..d85ca16e --- /dev/null +++ b/docs/sdks/orders/README.md @@ -0,0 +1,120 @@ +# Orders +(*Ecommerce.Orders*) + +## Overview + +### Available Operations + +* [List](#list) - List Orders +* [Get](#get) - Get Order + +## List + +List Orders + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +EcommerceOrdersAllRequest req = new EcommerceOrdersAllRequest() { + ServiceId = "salesforce", + Filter = new EcommerceOrdersFilter() { + Email = "elon@musk.com", + CustomerId = "123", + UpdatedSince = "2020-09-30T07:43:32.000Z", + CreatedSince = "2020-09-30T07:43:32.000Z", + }, + Sort = new OrdersSort() { + By = Apideck.Unify.SDK.Models.Components.OrdersSortBy.CreatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Ecommerce.Orders.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [EcommerceOrdersAllRequest](../../Models/Requests/EcommerceOrdersAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[EcommerceOrdersAllResponse](../../Models/Requests/EcommerceOrdersAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Order + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +EcommerceOrdersOneRequest req = new EcommerceOrdersOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Ecommerce.Orders.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [EcommerceOrdersOneRequest](../../Models/Requests/EcommerceOrdersOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[EcommerceOrdersOneResponse](../../Models/Requests/EcommerceOrdersOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/payments/README.md b/docs/sdks/payments/README.md new file mode 100644 index 00000000..8532f86e --- /dev/null +++ b/docs/sdks/payments/README.md @@ -0,0 +1,399 @@ +# Payments +(*Accounting.Payments*) + +## Overview + +### Available Operations + +* [List](#list) - List Payments +* [Create](#create) - Create Payment +* [Get](#get) - Get Payment +* [Update](#update) - Update Payment +* [Delete](#delete) - Delete Payment + +## List + +List Payments + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingPaymentsAllRequest req = new AccountingPaymentsAllRequest() { + ServiceId = "salesforce", + Filter = new PaymentsFilter() { + UpdatedSince = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + }, + Sort = new PaymentsSort() { + By = Apideck.Unify.SDK.Models.Components.PaymentsSortBy.UpdatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Payments.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AccountingPaymentsAllRequest](../../Models/Requests/AccountingPaymentsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingPaymentsAllResponse](../../Models/Requests/AccountingPaymentsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Payment + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingPaymentsAddRequest req = new AccountingPaymentsAddRequest() { + Payment = new PaymentInput() { + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CurrencyRate = 0.69D, + TotalAmount = 49.99D, + Reference = "123456", + PaymentMethod = "cash", + PaymentMethodReference = "123456", + PaymentMethodId = "12345", + Account = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + TransactionDate = System.DateTime.Parse("2021-05-01T12:00:00.000Z"), + Customer = new LinkedCustomerInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Email = "boring@boring.com", + }, + CompanyId = "12345", + Reconciled = true, + Status = Apideck.Unify.SDK.Models.Components.PaymentStatus.Authorised, + Type = Apideck.Unify.SDK.Models.Components.PaymentType.AccountsReceivable, + Allocations = new List() { + new AllocationInput() { + Id = "123456", + Amount = 49.99D, + AllocationId = "123456", + }, + }, + Note = "Some notes about this transaction", + Number = "123456", + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateBoolean( + true + ), + }, + }, + RowVersion = "1-12345", + DisplayId = "123456", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Payments.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AccountingPaymentsAddRequest](../../Models/Requests/AccountingPaymentsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingPaymentsAddResponse](../../Models/Requests/AccountingPaymentsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Payment + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingPaymentsOneRequest req = new AccountingPaymentsOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Payments.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AccountingPaymentsOneRequest](../../Models/Requests/AccountingPaymentsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingPaymentsOneResponse](../../Models/Requests/AccountingPaymentsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Payment + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingPaymentsUpdateRequest req = new AccountingPaymentsUpdateRequest() { + Id = "", + Payment = new PaymentInput() { + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CurrencyRate = 0.69D, + TotalAmount = 49.99D, + Reference = "123456", + PaymentMethod = "cash", + PaymentMethodReference = "123456", + PaymentMethodId = "12345", + Account = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + TransactionDate = System.DateTime.Parse("2021-05-01T12:00:00.000Z"), + Customer = new LinkedCustomerInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Email = "boring@boring.com", + }, + CompanyId = "12345", + Reconciled = true, + Status = Apideck.Unify.SDK.Models.Components.PaymentStatus.Authorised, + Type = Apideck.Unify.SDK.Models.Components.PaymentType.AccountsReceivable, + Allocations = new List() { + new AllocationInput() { + Id = "123456", + Amount = 49.99D, + AllocationId = "123456", + }, + }, + Note = "Some notes about this transaction", + Number = "123456", + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateArrayOf6( + new List() { + new Six() {}, + } + ), + }, + }, + RowVersion = "1-12345", + DisplayId = "123456", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Payments.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingPaymentsUpdateRequest](../../Models/Requests/AccountingPaymentsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingPaymentsUpdateResponse](../../Models/Requests/AccountingPaymentsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Payment + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingPaymentsDeleteRequest req = new AccountingPaymentsDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Payments.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingPaymentsDeleteRequest](../../Models/Requests/AccountingPaymentsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingPaymentsDeleteResponse](../../Models/Requests/AccountingPaymentsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/payrolls/README.md b/docs/sdks/payrolls/README.md new file mode 100644 index 00000000..fb77966b --- /dev/null +++ b/docs/sdks/payrolls/README.md @@ -0,0 +1,114 @@ +# Payrolls +(*Hris.Payrolls*) + +## Overview + +### Available Operations + +* [List](#list) - List Payroll +* [Get](#get) - Get Payroll + +## List + +List Payroll + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisPayrollsAllRequest req = new HrisPayrollsAllRequest() { + ServiceId = "salesforce", + Filter = new PayrollsFilter() { + StartDate = "2022-04-08", + EndDate = "2022-04-21", + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Hris.Payrolls.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `request` | [HrisPayrollsAllRequest](../../Models/Requests/HrisPayrollsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisPayrollsAllResponse](../../Models/Requests/HrisPayrollsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Payroll + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisPayrollsOneRequest req = new HrisPayrollsOneRequest() { + PayrollId = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Hris.Payrolls.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `request` | [HrisPayrollsOneRequest](../../Models/Requests/HrisPayrollsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisPayrollsOneResponse](../../Models/Requests/HrisPayrollsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/pipelines/README.md b/docs/sdks/pipelines/README.md new file mode 100644 index 00000000..2945f5f0 --- /dev/null +++ b/docs/sdks/pipelines/README.md @@ -0,0 +1,322 @@ +# Pipelines +(*Crm.Pipelines*) + +## Overview + +### Available Operations + +* [List](#list) - List pipelines +* [Create](#create) - Create pipeline +* [Get](#get) - Get pipeline +* [Update](#update) - Update pipeline +* [Delete](#delete) - Delete pipeline + +## List + +List pipelines + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using System.Collections.Generic; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmPipelinesAllRequest req = new CrmPipelinesAllRequest() { + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Crm.Pipelines.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `request` | [CrmPipelinesAllRequest](../../Models/Requests/CrmPipelinesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmPipelinesAllResponse](../../Models/Requests/CrmPipelinesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create pipeline + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmPipelinesAddRequest req = new CrmPipelinesAddRequest() { + Pipeline = new PipelineInput() { + Id = "default", + Name = "Sales Pipeline", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + Archived = false, + Active = false, + DisplayOrder = 1, + WinProbabilityEnabled = true, + Stages = new List() { + new PipelineStages() { + Name = "Contract Sent", + Value = "CONTRACT_SENT", + WinProbability = 50, + DisplayOrder = 1, + }, + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Pipelines.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `request` | [CrmPipelinesAddRequest](../../Models/Requests/CrmPipelinesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmPipelinesAddResponse](../../Models/Requests/CrmPipelinesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get pipeline + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmPipelinesOneRequest req = new CrmPipelinesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Crm.Pipelines.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `request` | [CrmPipelinesOneRequest](../../Models/Requests/CrmPipelinesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmPipelinesOneResponse](../../Models/Requests/CrmPipelinesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update pipeline + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmPipelinesUpdateRequest req = new CrmPipelinesUpdateRequest() { + Id = "", + Pipeline = new PipelineInput() { + Id = "default", + Name = "Sales Pipeline", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + Archived = false, + Active = false, + DisplayOrder = 1, + WinProbabilityEnabled = true, + Stages = new List() { + new PipelineStages() { + Name = "Contract Sent", + Value = "CONTRACT_SENT", + WinProbability = 50, + DisplayOrder = 1, + }, + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Pipelines.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [CrmPipelinesUpdateRequest](../../Models/Requests/CrmPipelinesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmPipelinesUpdateResponse](../../Models/Requests/CrmPipelinesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete pipeline + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmPipelinesDeleteRequest req = new CrmPipelinesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Pipelines.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [CrmPipelinesDeleteRequest](../../Models/Requests/CrmPipelinesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmPipelinesDeleteResponse](../../Models/Requests/CrmPipelinesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/products/README.md b/docs/sdks/products/README.md new file mode 100644 index 00000000..308a0142 --- /dev/null +++ b/docs/sdks/products/README.md @@ -0,0 +1,110 @@ +# Products +(*Ecommerce.Products*) + +## Overview + +### Available Operations + +* [List](#list) - List Products +* [Get](#get) - Get Product + +## List + +List Products + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using System.Collections.Generic; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +EcommerceProductsAllRequest req = new EcommerceProductsAllRequest() { + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Ecommerce.Products.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `request` | [EcommerceProductsAllRequest](../../Models/Requests/EcommerceProductsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[EcommerceProductsAllResponse](../../Models/Requests/EcommerceProductsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Product + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +EcommerceProductsOneRequest req = new EcommerceProductsOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Ecommerce.Products.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `request` | [EcommerceProductsOneRequest](../../Models/Requests/EcommerceProductsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[EcommerceProductsOneResponse](../../Models/Requests/EcommerceProductsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/profitandloss/README.md b/docs/sdks/profitandloss/README.md new file mode 100644 index 00000000..06febc6d --- /dev/null +++ b/docs/sdks/profitandloss/README.md @@ -0,0 +1,65 @@ +# ProfitAndLoss +(*Accounting.ProfitAndLoss*) + +## Overview + +### Available Operations + +* [Get](#get) - Get Profit and Loss + +## Get + +Get Profit and Loss + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingProfitAndLossOneRequest req = new AccountingProfitAndLossOneRequest() { + ServiceId = "salesforce", + Filter = new ProfitAndLossFilter() { + CustomerId = "123abc", + StartDate = "2021-01-01", + EndDate = "2021-12-31", + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.ProfitAndLoss.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `request` | [AccountingProfitAndLossOneRequest](../../Models/Requests/AccountingProfitAndLossOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingProfitAndLossOneResponse](../../Models/Requests/AccountingProfitAndLossOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/purchaseorders/README.md b/docs/sdks/purchaseorders/README.md new file mode 100644 index 00000000..23f149e7 --- /dev/null +++ b/docs/sdks/purchaseorders/README.md @@ -0,0 +1,606 @@ +# PurchaseOrders +(*Accounting.PurchaseOrders*) + +## Overview + +### Available Operations + +* [List](#list) - List Purchase Orders +* [Create](#create) - Create Purchase Order +* [Get](#get) - Get Purchase Order +* [Update](#update) - Update Purchase Order +* [Delete](#delete) - Delete Purchase Order + +## List + +List Purchase Orders + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using System.Collections.Generic; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingPurchaseOrdersAllRequest req = new AccountingPurchaseOrdersAllRequest() { + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Filter = new PurchaseOrdersFilter() { + UpdatedSince = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + SupplierId = "1234", + }, + Sort = new PurchaseOrdersSort() { + By = Apideck.Unify.SDK.Models.Components.PurchaseOrdersSortBy.UpdatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, +}; + +var res = await sdk.Accounting.PurchaseOrders.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [AccountingPurchaseOrdersAllRequest](../../Models/Requests/AccountingPurchaseOrdersAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingPurchaseOrdersAllResponse](../../Models/Requests/AccountingPurchaseOrdersAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Purchase Order + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingPurchaseOrdersAddRequest req = new AccountingPurchaseOrdersAddRequest() { + PurchaseOrder = new PurchaseOrderInput() { + PoNumber = "90000117", + Reference = "123456", + Supplier = new LinkedSupplierInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Address = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + CompanyId = "12345", + Status = Apideck.Unify.SDK.Models.Components.PurchaseOrderStatus.Open, + IssuedDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-09-30")), + DeliveryDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-09-30")), + ExpectedArrivalDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-09-30")), + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CurrencyRate = 0.69D, + SubTotal = 27500D, + TotalTax = 2500D, + Total = 27500D, + TaxInclusive = true, + LineItems = new List() { + new InvoiceLineItemInput() { + Id = "12345", + RowId = "12345", + Code = "120-C", + LineNumber = 1, + Description = "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", + Type = Apideck.Unify.SDK.Models.Components.InvoiceLineItemType.SalesItem, + TaxAmount = 27500D, + TotalAmount = 27500D, + Quantity = 1D, + UnitPrice = 27500.5D, + UnitOfMeasure = "pc.", + DiscountPercentage = 0.01D, + DiscountAmount = 19.99D, + LocationId = "1234", + DepartmentId = "1234", + Item = new LinkedInvoiceItem() { + Id = "12344", + Code = "120-C", + Name = "Model Y", + }, + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateBoolean( + true + ), + }, + }, + RowVersion = "1-12345", + }, + }, + ShippingAddress = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + TemplateId = "123456", + DiscountPercentage = 5.5D, + BankAccount = new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + AccountingByRow = false, + DueDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-10-30")), + PaymentMethod = "cash", + TaxCode = "1234", + Channel = "email", + Memo = "Thank you for the partnership and have a great day!", + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.PurchaseOrders.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [AccountingPurchaseOrdersAddRequest](../../Models/Requests/AccountingPurchaseOrdersAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingPurchaseOrdersAddResponse](../../Models/Requests/AccountingPurchaseOrdersAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Purchase Order + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingPurchaseOrdersOneRequest req = new AccountingPurchaseOrdersOneRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.PurchaseOrders.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `request` | [AccountingPurchaseOrdersOneRequest](../../Models/Requests/AccountingPurchaseOrdersOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingPurchaseOrdersOneResponse](../../Models/Requests/AccountingPurchaseOrdersOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Purchase Order + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using NodaTime; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingPurchaseOrdersUpdateRequest req = new AccountingPurchaseOrdersUpdateRequest() { + Id = "", + PurchaseOrder = new PurchaseOrderInput() { + PoNumber = "90000117", + Reference = "123456", + Supplier = new LinkedSupplierInput() { + Id = "12345", + DisplayName = "Windsurf Shop", + Address = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + CompanyId = "12345", + Status = Apideck.Unify.SDK.Models.Components.PurchaseOrderStatus.Open, + IssuedDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-09-30")), + DeliveryDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-09-30")), + ExpectedArrivalDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-09-30")), + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + CurrencyRate = 0.69D, + SubTotal = 27500D, + TotalTax = 2500D, + Total = 27500D, + TaxInclusive = true, + LineItems = new List() { + new InvoiceLineItemInput() { + Id = "12345", + RowId = "12345", + Code = "120-C", + LineNumber = 1, + Description = "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.", + Type = Apideck.Unify.SDK.Models.Components.InvoiceLineItemType.SalesItem, + TaxAmount = 27500D, + TotalAmount = 27500D, + Quantity = 1D, + UnitPrice = 27500.5D, + UnitOfMeasure = "pc.", + DiscountPercentage = 0.01D, + DiscountAmount = 19.99D, + LocationId = "1234", + DepartmentId = "1234", + Item = new LinkedInvoiceItem() { + Id = "12344", + Code = "120-C", + Name = "Model Y", + }, + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + CustomFields = new List() { + new CustomField() { + Id = "2389328923893298", + Name = "employee_level", + Description = "Employee Level", + Value = Value.CreateArrayOf6( + new List() { + new Six() {}, + } + ), + }, + }, + RowVersion = "1-12345", + }, + }, + ShippingAddress = new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + LedgerAccount = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + TemplateId = "123456", + DiscountPercentage = 5.5D, + BankAccount = new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + AccountingByRow = false, + DueDate = LocalDate.FromDateTime(System.DateTime.Parse("2020-10-30")), + PaymentMethod = "cash", + TaxCode = "1234", + Channel = "email", + Memo = "Thank you for the partnership and have a great day!", + TrackingCategories = new List() { + new LinkedTrackingCategory() { + Id = "123456", + Name = "New York", + }, + }, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.PurchaseOrders.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `request` | [AccountingPurchaseOrdersUpdateRequest](../../Models/Requests/AccountingPurchaseOrdersUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingPurchaseOrdersUpdateResponse](../../Models/Requests/AccountingPurchaseOrdersUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Purchase Order + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingPurchaseOrdersDeleteRequest req = new AccountingPurchaseOrdersDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.PurchaseOrders.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `request` | [AccountingPurchaseOrdersDeleteRequest](../../Models/Requests/AccountingPurchaseOrdersDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingPurchaseOrdersDeleteResponse](../../Models/Requests/AccountingPurchaseOrdersDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/sessions/README.md b/docs/sdks/sessions/README.md new file mode 100644 index 00000000..6fa67d27 --- /dev/null +++ b/docs/sdks/sessions/README.md @@ -0,0 +1,99 @@ +# Sessions +(*Vault.Sessions*) + +## Overview + +### Available Operations + +* [Create](#create) - Create Session + +## Create + +Making a POST request to this endpoint will initiate a Hosted Vault session. Redirect the consumer to the returned +URL to allow temporary access to manage their integrations and settings. + +Note: This is a short lived token that will expire after 1 hour (TTL: 3600). + + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Vault.Sessions.CreateAsync( + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX", + session: new Session() { + ConsumerMetadata = new ConsumerMetadata() { + AccountName = "SpaceX", + UserName = "Elon Musk", + Email = "elon@musk.com", + Image = "https://www.spacex.com/static/images/share.jpg", + }, + RedirectUri = "https://mysaas.com/dashboard", + Settings = new SessionSettings() { + UnifiedApis = new List() { + Apideck.Unify.SDK.Models.Components.UnifiedApiId.Crm, + }, + SessionLength = "30m", + }, + Theme = new Theme() { + Favicon = "https://res.cloudinary.com/apideck/icons/intercom", + Logo = "https://res.cloudinary.com/apideck/icons/intercom", + PrimaryColor = "#286efa", + SidepanelBackgroundColor = "#286efa", + SidepanelTextColor = "#FFFFFF", + VaultName = "Intercom", + PrivacyUrl = "https://compliance.apideck.com/privacy-policy", + TermsUrl = "https://www.termsfeed.com/terms-conditions/957c85c1b089ae9e3219c83eff65377e", + }, + CustomConsumerSettings = new Dictionary() { + { "feature_flag_1", true }, + { "tax_rates", new List() { + new Dictionary() { + { "id", "6" }, + { "label", "6%" }, + }, + new Dictionary() { + { "id", "21" }, + { "label", "21%" }, + }, + } }, + }, + } +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `ConsumerId` | *string* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `Session` | [Session](../../Models/Components/Session.md) | :heavy_minus_sign: | Additional redirect uri and/or consumer metadata | | + +### Response + +**[VaultSessionsCreateResponse](../../Models/Requests/VaultSessionsCreateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/sharedlinks/README.md b/docs/sdks/sharedlinks/README.md new file mode 100644 index 00000000..21445192 --- /dev/null +++ b/docs/sdks/sharedlinks/README.md @@ -0,0 +1,298 @@ +# SharedLinks +(*FileStorage.SharedLinks*) + +## Overview + +### Available Operations + +* [List](#list) - List SharedLinks +* [Create](#create) - Create Shared Link +* [Get](#get) - Get Shared Link +* [Update](#update) - Update Shared Link +* [Delete](#delete) - Delete Shared Link + +## List + +List SharedLinks + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using System.Collections.Generic; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageSharedLinksAllRequest req = new FileStorageSharedLinksAllRequest() { + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.FileStorage.SharedLinks.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [FileStorageSharedLinksAllRequest](../../Models/Requests/FileStorageSharedLinksAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageSharedLinksAllResponse](../../Models/Requests/FileStorageSharedLinksAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Shared Link + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageSharedLinksAddRequest req = new FileStorageSharedLinksAddRequest() { + SharedLink = new SharedLinkInput() { + DownloadUrl = "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg", + TargetId = "", + Scope = Apideck.Unify.SDK.Models.Components.Scope.Company, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.SharedLinks.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [FileStorageSharedLinksAddRequest](../../Models/Requests/FileStorageSharedLinksAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageSharedLinksAddResponse](../../Models/Requests/FileStorageSharedLinksAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Shared Link + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageSharedLinksOneRequest req = new FileStorageSharedLinksOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.FileStorage.SharedLinks.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [FileStorageSharedLinksOneRequest](../../Models/Requests/FileStorageSharedLinksOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageSharedLinksOneResponse](../../Models/Requests/FileStorageSharedLinksOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Shared Link + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageSharedLinksUpdateRequest req = new FileStorageSharedLinksUpdateRequest() { + Id = "", + SharedLink = new SharedLinkInput() { + DownloadUrl = "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg", + TargetId = "", + Scope = Apideck.Unify.SDK.Models.Components.Scope.Company, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.SharedLinks.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `request` | [FileStorageSharedLinksUpdateRequest](../../Models/Requests/FileStorageSharedLinksUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageSharedLinksUpdateResponse](../../Models/Requests/FileStorageSharedLinksUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Shared Link + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageSharedLinksDeleteRequest req = new FileStorageSharedLinksDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.SharedLinks.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `request` | [FileStorageSharedLinksDeleteRequest](../../Models/Requests/FileStorageSharedLinksDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageSharedLinksDeleteResponse](../../Models/Requests/FileStorageSharedLinksDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/sms/README.md b/docs/sdks/sms/README.md new file mode 100644 index 00000000..6e57a5e2 --- /dev/null +++ b/docs/sdks/sms/README.md @@ -0,0 +1,6 @@ +# Sms +(*Sms*) + +## Overview + +### Available Operations diff --git a/docs/sdks/stores/README.md b/docs/sdks/stores/README.md new file mode 100644 index 00000000..03d9e12b --- /dev/null +++ b/docs/sdks/stores/README.md @@ -0,0 +1,56 @@ +# Stores +(*Ecommerce.Stores*) + +## Overview + +### Available Operations + +* [Get](#get) - Get Store + +## Get + +Get Store + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +EcommerceStoresOneRequest req = new EcommerceStoresOneRequest() { + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Ecommerce.Stores.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [EcommerceStoresOneRequest](../../Models/Requests/EcommerceStoresOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[EcommerceStoresOneResponse](../../Models/Requests/EcommerceStoresOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/subsidiaries/README.md b/docs/sdks/subsidiaries/README.md new file mode 100644 index 00000000..790bafbb --- /dev/null +++ b/docs/sdks/subsidiaries/README.md @@ -0,0 +1,296 @@ +# Subsidiaries +(*Accounting.Subsidiaries*) + +## Overview + +### Available Operations + +* [List](#list) - List Subsidiaries +* [Create](#create) - Create Subsidiary +* [Get](#get) - Get Subsidiary +* [Update](#update) - Update Subsidiary +* [Delete](#delete) - Delete Subsidiary + +## List + +List Subsidiaries + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingSubsidiariesAllRequest req = new AccountingSubsidiariesAllRequest() { + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Subsidiaries.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingSubsidiariesAllRequest](../../Models/Requests/AccountingSubsidiariesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingSubsidiariesAllResponse](../../Models/Requests/AccountingSubsidiariesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Subsidiary + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingSubsidiariesAddRequest req = new AccountingSubsidiariesAddRequest() { + Subsidiary = new SubsidiaryInput() { + ParentId = "12345", + Name = "SpaceX", + Status = Apideck.Unify.SDK.Models.Components.SubsidiaryStatus.Active, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Subsidiaries.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingSubsidiariesAddRequest](../../Models/Requests/AccountingSubsidiariesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingSubsidiariesAddResponse](../../Models/Requests/AccountingSubsidiariesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Subsidiary + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingSubsidiariesOneRequest req = new AccountingSubsidiariesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Subsidiaries.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingSubsidiariesOneRequest](../../Models/Requests/AccountingSubsidiariesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingSubsidiariesOneResponse](../../Models/Requests/AccountingSubsidiariesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Subsidiary + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingSubsidiariesUpdateRequest req = new AccountingSubsidiariesUpdateRequest() { + Id = "", + Subsidiary = new SubsidiaryInput() { + ParentId = "12345", + Name = "SpaceX", + Status = Apideck.Unify.SDK.Models.Components.SubsidiaryStatus.Active, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Subsidiaries.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `request` | [AccountingSubsidiariesUpdateRequest](../../Models/Requests/AccountingSubsidiariesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingSubsidiariesUpdateResponse](../../Models/Requests/AccountingSubsidiariesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Subsidiary + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingSubsidiariesDeleteRequest req = new AccountingSubsidiariesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Subsidiaries.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `request` | [AccountingSubsidiariesDeleteRequest](../../Models/Requests/AccountingSubsidiariesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingSubsidiariesDeleteResponse](../../Models/Requests/AccountingSubsidiariesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/suppliers/README.md b/docs/sdks/suppliers/README.md new file mode 100644 index 00000000..71b7a3dd --- /dev/null +++ b/docs/sdks/suppliers/README.md @@ -0,0 +1,490 @@ +# Suppliers +(*Accounting.Suppliers*) + +## Overview + +### Available Operations + +* [List](#list) - List Suppliers +* [Create](#create) - Create Supplier +* [Get](#get) - Get Supplier +* [Update](#update) - Update Supplier +* [Delete](#delete) - Delete Supplier + +## List + +List Suppliers + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingSuppliersAllRequest req = new AccountingSuppliersAllRequest() { + ServiceId = "salesforce", + Filter = new SuppliersFilter() { + CompanyName = "SpaceX", + DisplayName = "Elon Musk", + FirstName = "Elon", + LastName = "Musk", + Email = "elon@musk.com", + UpdatedSince = System.DateTime.Parse("2020-09-30T07:43:32.000Z"), + }, + Sort = new SuppliersSort() { + By = Apideck.Unify.SDK.Models.Components.SuppliersSortBy.UpdatedAt, + Direction = Apideck.Unify.SDK.Models.Components.SortDirection.Desc, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Suppliers.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [AccountingSuppliersAllRequest](../../Models/Requests/AccountingSuppliersAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingSuppliersAllResponse](../../Models/Requests/AccountingSuppliersAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Supplier + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingSuppliersAddRequest req = new AccountingSuppliersAddRequest() { + Supplier = new SupplierInput() { + DisplayId = "EMP00101", + DisplayName = "Windsurf Shop", + CompanyName = "SpaceX", + CompanyId = "12345", + Title = "CEO", + FirstName = "Elon", + MiddleName = "D.", + LastName = "Musk", + Suffix = "Jr.", + Individual = true, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + Websites = new List() { + new Website() { + Id = "12345", + Url = "http://example.com", + Type = Apideck.Unify.SDK.Models.Components.WebsiteType.Primary, + }, + }, + BankAccounts = new List() { + new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + }, + Notes = "Some notes about this supplier", + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + TaxNumber = "US123945459", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + Account = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + Status = Apideck.Unify.SDK.Models.Components.SupplierStatus.Active, + PaymentMethod = "cash", + Channel = "email", + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Suppliers.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [AccountingSuppliersAddRequest](../../Models/Requests/AccountingSuppliersAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingSuppliersAddResponse](../../Models/Requests/AccountingSuppliersAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Supplier + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingSuppliersOneRequest req = new AccountingSuppliersOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.Suppliers.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [AccountingSuppliersOneRequest](../../Models/Requests/AccountingSuppliersOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingSuppliersOneResponse](../../Models/Requests/AccountingSuppliersOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Supplier + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingSuppliersUpdateRequest req = new AccountingSuppliersUpdateRequest() { + Id = "", + Supplier = new SupplierInput() { + DisplayId = "EMP00101", + DisplayName = "Windsurf Shop", + CompanyName = "SpaceX", + CompanyId = "12345", + Title = "CEO", + FirstName = "Elon", + MiddleName = "D.", + LastName = "Musk", + Suffix = "Jr.", + Individual = true, + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + Websites = new List() { + new Website() { + Id = "12345", + Url = "http://example.com", + Type = Apideck.Unify.SDK.Models.Components.WebsiteType.Primary, + }, + }, + BankAccounts = new List() { + new BankAccount() { + BankName = "Monzo", + AccountNumber = "123465", + AccountName = "SPACEX LLC", + AccountType = Apideck.Unify.SDK.Models.Components.AccountType.CreditCard, + Iban = "CH2989144532982975332", + Bic = "AUDSCHGGXXX", + RoutingNumber = "012345678", + BsbNumber = "062-001", + BranchIdentifier = "001", + BankCode = "BNH", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + }, + }, + Notes = "Some notes about this supplier", + TaxRate = new LinkedTaxRateInput() { + Id = "123456", + Rate = 10D, + }, + TaxNumber = "US123945459", + Currency = Apideck.Unify.SDK.Models.Components.Currency.Usd, + Account = new LinkedLedgerAccountInput() { + Id = "123456", + NominalCode = "N091", + Code = "453", + }, + Status = Apideck.Unify.SDK.Models.Components.SupplierStatus.Active, + PaymentMethod = "cash", + Channel = "email", + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Suppliers.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingSuppliersUpdateRequest](../../Models/Requests/AccountingSuppliersUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingSuppliersUpdateResponse](../../Models/Requests/AccountingSuppliersUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Supplier + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingSuppliersDeleteRequest req = new AccountingSuppliersDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.Suppliers.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [AccountingSuppliersDeleteRequest](../../Models/Requests/AccountingSuppliersDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingSuppliersDeleteResponse](../../Models/Requests/AccountingSuppliersDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/taxrates/README.md b/docs/sdks/taxrates/README.md new file mode 100644 index 00000000..1de82a38 --- /dev/null +++ b/docs/sdks/taxrates/README.md @@ -0,0 +1,343 @@ +# TaxRates +(*Accounting.TaxRates*) + +## Overview + +### Available Operations + +* [List](#list) - List Tax Rates +* [Create](#create) - Create Tax Rate +* [Get](#get) - Get Tax Rate +* [Update](#update) - Update Tax Rate +* [Delete](#delete) - Delete Tax Rate + +## List + +List Tax Rates. Note: Not all connectors return the actual rate/percentage value. In this case, only the tax code or reference is returned. Connectors Affected: Quickbooks + + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTaxRatesAllRequest req = new AccountingTaxRatesAllRequest() { + ServiceId = "salesforce", + Filter = new TaxRatesFilter() { + Assets = true, + Equity = true, + Expenses = true, + Liabilities = true, + Revenue = true, + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.TaxRates.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AccountingTaxRatesAllRequest](../../Models/Requests/AccountingTaxRatesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingTaxRatesAllResponse](../../Models/Requests/AccountingTaxRatesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Tax Rate + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTaxRatesAddRequest req = new AccountingTaxRatesAddRequest() { + TaxRate = new TaxRateInput() { + Id = "1234", + Name = "GST on Purchases", + Code = "ABN", + Description = "Reduced rate GST Purchases", + EffectiveTaxRate = 10D, + TotalTaxRate = 10D, + TaxPayableAccountId = "123456", + TaxRemittedAccountId = "123456", + Components = new List() { + new Components() { + Id = "10", + Name = "GST", + Rate = 10D, + Compound = true, + }, + }, + Type = "NONE", + ReportTaxType = "NONE", + OriginalTaxRateId = "12345", + Status = Apideck.Unify.SDK.Models.Components.TaxRateStatus.Active, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.TaxRates.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AccountingTaxRatesAddRequest](../../Models/Requests/AccountingTaxRatesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingTaxRatesAddResponse](../../Models/Requests/AccountingTaxRatesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Tax Rate. Note: Not all connectors return the actual rate/percentage value. In this case, only the tax code or reference is returned. Support will soon be added to return the actual rate/percentage by doing additional calls in the background to provide the full view of a given tax rate. Connectors Affected: Quickbooks + + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTaxRatesOneRequest req = new AccountingTaxRatesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.TaxRates.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [AccountingTaxRatesOneRequest](../../Models/Requests/AccountingTaxRatesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingTaxRatesOneResponse](../../Models/Requests/AccountingTaxRatesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Tax Rate + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTaxRatesUpdateRequest req = new AccountingTaxRatesUpdateRequest() { + Id = "", + TaxRate = new TaxRateInput() { + Id = "1234", + Name = "GST on Purchases", + Code = "ABN", + Description = "Reduced rate GST Purchases", + EffectiveTaxRate = 10D, + TotalTaxRate = 10D, + TaxPayableAccountId = "123456", + TaxRemittedAccountId = "123456", + Components = new List() { + new Components() { + Id = "10", + Name = "GST", + Rate = 10D, + Compound = true, + }, + }, + Type = "NONE", + ReportTaxType = "NONE", + OriginalTaxRateId = "12345", + Status = Apideck.Unify.SDK.Models.Components.TaxRateStatus.Active, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.TaxRates.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingTaxRatesUpdateRequest](../../Models/Requests/AccountingTaxRatesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingTaxRatesUpdateResponse](../../Models/Requests/AccountingTaxRatesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Tax Rate + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTaxRatesDeleteRequest req = new AccountingTaxRatesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.TaxRates.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `request` | [AccountingTaxRatesDeleteRequest](../../Models/Requests/AccountingTaxRatesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingTaxRatesDeleteResponse](../../Models/Requests/AccountingTaxRatesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/timeoffrequests/README.md b/docs/sdks/timeoffrequests/README.md new file mode 100644 index 00000000..6bd6a60d --- /dev/null +++ b/docs/sdks/timeoffrequests/README.md @@ -0,0 +1,337 @@ +# TimeOffRequests +(*Hris.TimeOffRequests*) + +## Overview + +### Available Operations + +* [List](#list) - List Time Off Requests +* [Create](#create) - Create Time Off Request +* [Get](#get) - Get Time Off Request +* [Update](#update) - Update Time Off Request +* [Delete](#delete) - Delete Time Off Request + +## List + +List Time Off Requests + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisTimeOffRequestsAllRequest req = new HrisTimeOffRequestsAllRequest() { + ServiceId = "salesforce", + Filter = new TimeOffRequestsFilter() { + StartDate = "2022-04-08", + EndDate = "2022-04-21", + UpdatedSince = "2020-09-30T07:43:32.000Z", + EmployeeId = "1234", + TimeOffRequestStatus = Apideck.Unify.SDK.Models.Components.TimeOffRequestStatus.Approved, + CompanyId = "1234", + }, + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Hris.TimeOffRequests.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [HrisTimeOffRequestsAllRequest](../../Models/Requests/HrisTimeOffRequestsAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisTimeOffRequestsAllResponse](../../Models/Requests/HrisTimeOffRequestsAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Time Off Request + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisTimeOffRequestsAddRequest req = new HrisTimeOffRequestsAddRequest() { + TimeOffRequest = new TimeOffRequestInput() { + EmployeeId = "12345", + PolicyId = "12345", + Status = Apideck.Unify.SDK.Models.Components.TimeOffRequestStatusStatus.Approved, + Description = "Enjoying some sun.", + StartDate = "2022-04-01", + EndDate = "2022-04-01", + RequestDate = "2022-03-21", + RequestType = Apideck.Unify.SDK.Models.Components.RequestType.Vacation, + ApprovalDate = "2022-03-21", + Units = Apideck.Unify.SDK.Models.Components.Units.Hours, + Amount = 3.5D, + DayPart = "morning", + Notes = new Models.Components.Notes() { + Employee = "Relaxing on the beach for a few hours.", + Manager = "Enjoy!", + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + PolicyType = "sick", + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Hris.TimeOffRequests.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [HrisTimeOffRequestsAddRequest](../../Models/Requests/HrisTimeOffRequestsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisTimeOffRequestsAddResponse](../../Models/Requests/HrisTimeOffRequestsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Time Off Request + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisTimeOffRequestsOneRequest req = new HrisTimeOffRequestsOneRequest() { + Id = "", + EmployeeId = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Hris.TimeOffRequests.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [HrisTimeOffRequestsOneRequest](../../Models/Requests/HrisTimeOffRequestsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisTimeOffRequestsOneResponse](../../Models/Requests/HrisTimeOffRequestsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Time Off Request + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisTimeOffRequestsUpdateRequest req = new HrisTimeOffRequestsUpdateRequest() { + Id = "", + EmployeeId = "", + TimeOffRequest = new TimeOffRequestInput() { + EmployeeId = "12345", + PolicyId = "12345", + Status = Apideck.Unify.SDK.Models.Components.TimeOffRequestStatusStatus.Approved, + Description = "Enjoying some sun.", + StartDate = "2022-04-01", + EndDate = "2022-04-01", + RequestDate = "2022-03-21", + RequestType = Apideck.Unify.SDK.Models.Components.RequestType.Vacation, + ApprovalDate = "2022-03-21", + Units = Apideck.Unify.SDK.Models.Components.Units.Hours, + Amount = 3.5D, + DayPart = "morning", + Notes = new Models.Components.Notes() { + Employee = "Relaxing on the beach for a few hours.", + Manager = "Enjoy!", + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + PolicyType = "sick", + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Hris.TimeOffRequests.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [HrisTimeOffRequestsUpdateRequest](../../Models/Requests/HrisTimeOffRequestsUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisTimeOffRequestsUpdateResponse](../../Models/Requests/HrisTimeOffRequestsUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Time Off Request + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +HrisTimeOffRequestsDeleteRequest req = new HrisTimeOffRequestsDeleteRequest() { + Id = "", + EmployeeId = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Hris.TimeOffRequests.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `request` | [HrisTimeOffRequestsDeleteRequest](../../Models/Requests/HrisTimeOffRequestsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[HrisTimeOffRequestsDeleteResponse](../../Models/Requests/HrisTimeOffRequestsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/trackingcategories/README.md b/docs/sdks/trackingcategories/README.md new file mode 100644 index 00000000..58145347 --- /dev/null +++ b/docs/sdks/trackingcategories/README.md @@ -0,0 +1,302 @@ +# TrackingCategories +(*Accounting.TrackingCategories*) + +## Overview + +### Available Operations + +* [List](#list) - List Tracking Categories +* [Create](#create) - Create Tracking Category +* [Get](#get) - Get Tracking Category +* [Update](#update) - Update Tracking Category +* [Delete](#delete) - Delete Tracking Category + +## List + +List Tracking Categories + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using System.Collections.Generic; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTrackingCategoriesAllRequest req = new AccountingTrackingCategoriesAllRequest() { + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.TrackingCategories.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `request` | [AccountingTrackingCategoriesAllRequest](../../Models/Requests/AccountingTrackingCategoriesAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingTrackingCategoriesAllResponse](../../Models/Requests/AccountingTrackingCategoriesAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create Tracking Category + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTrackingCategoriesAddRequest req = new AccountingTrackingCategoriesAddRequest() { + TrackingCategory = new TrackingCategoryInput() { + ParentId = "12345", + Name = "Department", + Code = "100", + Status = Apideck.Unify.SDK.Models.Components.TrackingCategoryStatus.Active, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.TrackingCategories.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `request` | [AccountingTrackingCategoriesAddRequest](../../Models/Requests/AccountingTrackingCategoriesAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingTrackingCategoriesAddResponse](../../Models/Requests/AccountingTrackingCategoriesAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Tracking Category + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTrackingCategoriesOneRequest req = new AccountingTrackingCategoriesOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Accounting.TrackingCategories.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `request` | [AccountingTrackingCategoriesOneRequest](../../Models/Requests/AccountingTrackingCategoriesOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingTrackingCategoriesOneResponse](../../Models/Requests/AccountingTrackingCategoriesOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update Tracking Category + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTrackingCategoriesUpdateRequest req = new AccountingTrackingCategoriesUpdateRequest() { + Id = "", + TrackingCategory = new TrackingCategoryInput() { + ParentId = "12345", + Name = "Department", + Code = "100", + Status = Apideck.Unify.SDK.Models.Components.TrackingCategoryStatus.Active, + RowVersion = "1-12345", + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.TrackingCategories.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `request` | [AccountingTrackingCategoriesUpdateRequest](../../Models/Requests/AccountingTrackingCategoriesUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingTrackingCategoriesUpdateResponse](../../Models/Requests/AccountingTrackingCategoriesUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete Tracking Category + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +AccountingTrackingCategoriesDeleteRequest req = new AccountingTrackingCategoriesDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Accounting.TrackingCategories.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `request` | [AccountingTrackingCategoriesDeleteRequest](../../Models/Requests/AccountingTrackingCategoriesDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[AccountingTrackingCategoriesDeleteResponse](../../Models/Requests/AccountingTrackingCategoriesDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/uploadsessions/README.md b/docs/sdks/uploadsessions/README.md new file mode 100644 index 00000000..a7be6b17 --- /dev/null +++ b/docs/sdks/uploadsessions/README.md @@ -0,0 +1,229 @@ +# UploadSessions +(*FileStorage.UploadSessions*) + +## Overview + +### Available Operations + +* [Create](#create) - Start Upload Session +* [Get](#get) - Get Upload Session +* [Delete](#delete) - Abort Upload Session +* [Finish](#finish) - Finish Upload Session + +## Create + +Start an Upload Session. Upload sessions are used to upload large files, use the [Upload File](#operation/filesUpload) endpoint to upload smaller files (up to 100MB). Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the [file upload guide](/guides/file-upload). + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageUploadSessionsAddRequest req = new FileStorageUploadSessionsAddRequest() { + CreateUploadSessionRequest = new CreateUploadSessionRequest() { + Name = "Documents", + ParentFolderId = "1234", + DriveId = "1234", + Size = 1810673, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.UploadSessions.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `request` | [FileStorageUploadSessionsAddRequest](../../Models/Requests/FileStorageUploadSessionsAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | + +### Response + +**[FileStorageUploadSessionsAddResponse](../../Models/Requests/FileStorageUploadSessionsAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get Upload Session. Use the `part_size` to split your file into parts. Upload the parts to the [Upload part of File](#operation/uploadSessionsUpload) endpoint. Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the [file upload guide](/guides/file-upload). + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageUploadSessionsOneRequest req = new FileStorageUploadSessionsOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.FileStorage.UploadSessions.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `request` | [FileStorageUploadSessionsOneRequest](../../Models/Requests/FileStorageUploadSessionsOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | + +### Response + +**[FileStorageUploadSessionsOneResponse](../../Models/Requests/FileStorageUploadSessionsOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Abort Upload Session. Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the [file upload guide](/guides/file-upload). + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageUploadSessionsDeleteRequest req = new FileStorageUploadSessionsDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.FileStorage.UploadSessions.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `request` | [FileStorageUploadSessionsDeleteRequest](../../Models/Requests/FileStorageUploadSessionsDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[FileStorageUploadSessionsDeleteResponse](../../Models/Requests/FileStorageUploadSessionsDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Finish + +Finish Upload Session. Only call this endpoint after all File parts have been uploaded to [Upload part of File](#operation/uploadSessionsUpload). Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the [file upload guide](/guides/file-upload). + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +FileStorageUploadSessionsFinishRequest req = new FileStorageUploadSessionsFinishRequest() { + Id = "", + ServiceId = "salesforce", + Digest = "sha=fpRyg5eVQletdZqEKaFlqwBXJzM=", +}; + +var res = await sdk.FileStorage.UploadSessions.FinishAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `request` | [FileStorageUploadSessionsFinishRequest](../../Models/Requests/FileStorageUploadSessionsFinishRequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | + +### Response + +**[FileStorageUploadSessionsFinishResponse](../../Models/Requests/FileStorageUploadSessionsFinishResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/users/README.md b/docs/sdks/users/README.md new file mode 100644 index 00000000..8fee5a18 --- /dev/null +++ b/docs/sdks/users/README.md @@ -0,0 +1,408 @@ +# Users +(*Crm.Users*) + +## Overview + +### Available Operations + +* [List](#list) - List users +* [Create](#create) - Create user +* [Get](#get) - Get user +* [Update](#update) - Update user +* [Delete](#delete) - Delete user + +## List + +List users + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using System.Collections.Generic; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmUsersAllRequest req = new CrmUsersAllRequest() { + ServiceId = "salesforce", + PassThrough = new Dictionary() { + { "search", "San Francisco" }, + }, + Fields = "id,updated_at", +}; + +var res = await sdk.Crm.Users.ListAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `request` | [CrmUsersAllRequest](../../Models/Requests/CrmUsersAllRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmUsersAllResponse](../../Models/Requests/CrmUsersAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create user + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmUsersAddRequest req = new CrmUsersAddRequest() { + User = new UserInput() { + ParentId = "54321", + Username = "masterofcoin", + FirstName = "Elon", + LastName = "Musk", + Title = "CEO", + Division = "Europe", + CompanyName = "SpaceX", + EmployeeNumber = "123456-AB", + Description = "A description", + Image = "https://logo.clearbit.com/spacex.com?s=128", + Language = "EN", + Status = "active", + Password = "supersecretpassword", + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Users.CreateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `request` | [CrmUsersAddRequest](../../Models/Requests/CrmUsersAddRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmUsersAddResponse](../../Models/Requests/CrmUsersAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get user + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmUsersOneRequest req = new CrmUsersOneRequest() { + Id = "", + ServiceId = "salesforce", + Fields = "id,updated_at", +}; + +var res = await sdk.Crm.Users.GetAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `request` | [CrmUsersOneRequest](../../Models/Requests/CrmUsersOneRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmUsersOneResponse](../../Models/Requests/CrmUsersOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update user + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmUsersUpdateRequest req = new CrmUsersUpdateRequest() { + Id = "", + User = new UserInput() { + ParentId = "54321", + Username = "masterofcoin", + FirstName = "Elon", + LastName = "Musk", + Title = "CEO", + Division = "Europe", + CompanyName = "SpaceX", + EmployeeNumber = "123456-AB", + Description = "A description", + Image = "https://logo.clearbit.com/spacex.com?s=128", + Language = "EN", + Status = "active", + Password = "supersecretpassword", + Addresses = new List
() { + new Address() { + Id = "123", + Type = Apideck.Unify.SDK.Models.Components.Type.Primary, + String = "25 Spring Street, Blackburn, VIC 3130", + Name = "HQ US", + Line1 = "Main street", + Line2 = "apt #", + Line3 = "Suite #", + Line4 = "delivery instructions", + StreetNumber = "25", + City = "San Francisco", + State = "CA", + PostalCode = "94104", + Country = "US", + Latitude = "40.759211", + Longitude = "-73.984638", + County = "Santa Clara", + ContactName = "Elon Musk", + Salutation = "Mr", + PhoneNumber = "111-111-1111", + Fax = "122-111-1111", + Email = "elon@musk.com", + Website = "https://elonmusk.com", + Notes = "Address notes or delivery instructions.", + RowVersion = "1-12345", + }, + }, + PhoneNumbers = new List() { + new PhoneNumber() { + Id = "12345", + CountryCode = "1", + AreaCode = "323", + Number = "111-111-1111", + Extension = "105", + Type = Apideck.Unify.SDK.Models.Components.PhoneNumberType.Primary, + }, + }, + Emails = new List() { + new Email() { + Id = "123", + Email = "elon@musk.com", + Type = Apideck.Unify.SDK.Models.Components.EmailType.Primary, + }, + }, + PassThrough = new List() { + new PassThroughBody() { + ServiceId = "", + ExtendPaths = new List() { + new ExtendPaths() { + Path = "$.nested.property", + Value = new Dictionary() { + { "TaxClassificationRef", new Dictionary() { + { "value", "EUC-99990201-V1-00020000" }, + } }, + }, + }, + }, + }, + }, + }, + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Users.UpdateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `request` | [CrmUsersUpdateRequest](../../Models/Requests/CrmUsersUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmUsersUpdateResponse](../../Models/Requests/CrmUsersUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete user + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +CrmUsersDeleteRequest req = new CrmUsersDeleteRequest() { + Id = "", + ServiceId = "salesforce", +}; + +var res = await sdk.Crm.Users.DeleteAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `request` | [CrmUsersDeleteRequest](../../Models/Requests/CrmUsersDeleteRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[CrmUsersDeleteResponse](../../Models/Requests/CrmUsersDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/validateconnection/README.md b/docs/sdks/validateconnection/README.md new file mode 100644 index 00000000..8a7c2b7a --- /dev/null +++ b/docs/sdks/validateconnection/README.md @@ -0,0 +1,62 @@ +# ValidateConnection +(*Vault.ValidateConnection*) + +## Overview + +### Available Operations + +* [State](#state) - Validate Connection State + +## State + +This endpoint validates the current state of a given connection. This will perform different checks based on the connection auth type. For basic and apiKey auth types, the presence of required fields is checked. +For connectors that implement OAuth2, this operation forces the refresh flow for an access token regardless of its expiry. + +Note: + - Do not include any credentials in the request body. This operation does not persist changes, but only triggers the validation of connection state. + - If a refresh token flow was performed and successful, the new access token will then be used for subsequent API requests. + + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +VaultValidateConnectionStateRequest req = new VaultValidateConnectionStateRequest() { + ServiceId = "pipedrive", + UnifiedApi = "crm", +}; + +var res = await sdk.Vault.ValidateConnection.StateAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `request` | [VaultValidateConnectionStateRequest](../../Models/Requests/VaultValidateConnectionStateRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[VaultValidateConnectionStateResponse](../../Models/Requests/VaultValidateConnectionStateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/vault/README.md b/docs/sdks/vault/README.md new file mode 100644 index 00000000..4bcc9ba7 --- /dev/null +++ b/docs/sdks/vault/README.md @@ -0,0 +1,6 @@ +# Vault +(*Vault*) + +## Overview + +### Available Operations diff --git a/docs/sdks/webhook/README.md b/docs/sdks/webhook/README.md new file mode 100644 index 00000000..d058ae23 --- /dev/null +++ b/docs/sdks/webhook/README.md @@ -0,0 +1,6 @@ +# Webhook +(*Webhook*) + +## Overview + +### Available Operations diff --git a/docs/sdks/webhooks/README.md b/docs/sdks/webhooks/README.md new file mode 100644 index 00000000..99eadd4b --- /dev/null +++ b/docs/sdks/webhooks/README.md @@ -0,0 +1,270 @@ +# Webhooks +(*Webhook.Webhooks*) + +## Overview + +### Available Operations + +* [List](#list) - List webhook subscriptions +* [Create](#create) - Create webhook subscription +* [Get](#get) - Get webhook subscription +* [Update](#update) - Update webhook subscription +* [Delete](#delete) - Delete webhook subscription + +## List + +List all webhook subscriptions + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Webhook.Webhooks.ListAsync( + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX", + cursor: "", + limit: 20 +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | +| `Cursor` | *string* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | +| `Limit` | *long* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | + +### Response + +**[WebhookWebhooksAllResponse](../../Models/Requests/WebhookWebhooksAllResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Create + +Create a webhook subscription to receive events + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Webhook.Webhooks.CreateAsync( + createWebhookRequest: new CreateWebhookRequest() { + Description = "A description", + UnifiedApi = Apideck.Unify.SDK.Models.Components.UnifiedApiId.Crm, + Status = Apideck.Unify.SDK.Models.Components.Status.Enabled, + DeliveryUrl = "https://example.com/my/webhook/endpoint", + Events = new List() { + Apideck.Unify.SDK.Models.Components.WebhookEventType.VaultConnectionCreated, + Apideck.Unify.SDK.Models.Components.WebhookEventType.VaultConnectionUpdated, + }, + }, + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `CreateWebhookRequest` | [CreateWebhookRequest](../../Models/Components/CreateWebhookRequest.md) | :heavy_check_mark: | N/A | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[WebhookWebhooksAddResponse](../../Models/Requests/WebhookWebhooksAddResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Get + +Get the webhook subscription details + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Webhook.Webhooks.GetAsync( + id: "", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | JWT Webhook token that represents the unifiedApi and applicationId associated to the event source. | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[WebhookWebhooksOneResponse](../../Models/Requests/WebhookWebhooksOneResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Update + +Update a webhook subscription + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; +using System.Collections.Generic; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Webhook.Webhooks.UpdateAsync( + id: "", + updateWebhookRequest: new UpdateWebhookRequest() { + Description = "A description", + Status = Apideck.Unify.SDK.Models.Components.Status.Enabled, + DeliveryUrl = "https://example.com/my/webhook/endpoint", + Events = new List() { + Apideck.Unify.SDK.Models.Components.WebhookEventType.VaultConnectionCreated, + Apideck.Unify.SDK.Models.Components.WebhookEventType.VaultConnectionUpdated, + }, + }, + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | JWT Webhook token that represents the unifiedApi and applicationId associated to the event source. | | +| `UpdateWebhookRequest` | [UpdateWebhookRequest](../../Models/Components/UpdateWebhookRequest.md) | :heavy_check_mark: | N/A | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[WebhookWebhooksUpdateResponse](../../Models/Requests/WebhookWebhooksUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | + +## Delete + +Delete a webhook subscription + +### Example Usage + +```csharp +using Apideck.Unify.SDK; +using Apideck.Unify.SDK.Models.Requests; +using Apideck.Unify.SDK.Models.Components; + +var sdk = new Apideck( + apiKey: "", + consumerId: "test-consumer", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +var res = await sdk.Webhook.Webhooks.DeleteAsync( + id: "", + appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | JWT Webhook token that represents the unifiedApi and applicationId associated to the event source. | | +| `AppId` | *string* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | + +### Response + +**[WebhookWebhooksDeleteResponse](../../Models/Requests/WebhookWebhooksDeleteResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| Apideck.Unify.SDK.Models.Errors.BadRequestResponse | 400 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnauthorizedResponse | 401 | application/json | +| Apideck.Unify.SDK.Models.Errors.PaymentRequiredResponse | 402 | application/json | +| Apideck.Unify.SDK.Models.Errors.NotFoundResponse | 404 | application/json | +| Apideck.Unify.SDK.Models.Errors.UnprocessableResponse | 422 | application/json | +| Apideck.Unify.SDK.Models.Errors.APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/global.json b/global.json new file mode 100644 index 00000000..ef3195af --- /dev/null +++ b/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "version": "8.0.0", + "rollForward": "latestMinor" + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Accounting.cs b/src/Apideck/Unify/SDK/Accounting.cs new file mode 100644 index 00000000..100b48a7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Accounting.cs @@ -0,0 +1,104 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils; + using System; + + public interface IAccounting + { + public ITaxRates TaxRates { get; } + public IBills Bills { get; } + public IInvoices Invoices { get; } + public ILedgerAccounts LedgerAccounts { get; } + public IInvoiceItems InvoiceItems { get; } + public ICreditNotes CreditNotes { get; } + public ICustomers Customers { get; } + public ISuppliers Suppliers { get; } + public IPayments Payments { get; } + public ICompanyInfo CompanyInfo { get; } + public IBalanceSheet BalanceSheet { get; } + public IProfitAndLoss ProfitAndLoss { get; } + public IJournalEntries JournalEntries { get; } + public IPurchaseOrders PurchaseOrders { get; } + public ISubsidiaries Subsidiaries { get; } + public ILocations Locations { get; } + public IDepartments Departments { get; } + public IAttachments Attachments { get; } + public ITrackingCategories TrackingCategories { get; } + public IBillPayments BillPayments { get; } + public IExpenses Expenses { get; } + } + + public class Accounting: IAccounting + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + public ITaxRates TaxRates { get; private set; } + public IBills Bills { get; private set; } + public IInvoices Invoices { get; private set; } + public ILedgerAccounts LedgerAccounts { get; private set; } + public IInvoiceItems InvoiceItems { get; private set; } + public ICreditNotes CreditNotes { get; private set; } + public ICustomers Customers { get; private set; } + public ISuppliers Suppliers { get; private set; } + public IPayments Payments { get; private set; } + public ICompanyInfo CompanyInfo { get; private set; } + public IBalanceSheet BalanceSheet { get; private set; } + public IProfitAndLoss ProfitAndLoss { get; private set; } + public IJournalEntries JournalEntries { get; private set; } + public IPurchaseOrders PurchaseOrders { get; private set; } + public ISubsidiaries Subsidiaries { get; private set; } + public ILocations Locations { get; private set; } + public IDepartments Departments { get; private set; } + public IAttachments Attachments { get; private set; } + public ITrackingCategories TrackingCategories { get; private set; } + public IBillPayments BillPayments { get; private set; } + public IExpenses Expenses { get; private set; } + + public Accounting(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + TaxRates = new TaxRates(_client, _securitySource, _serverUrl, SDKConfiguration); + Bills = new Bills(_client, _securitySource, _serverUrl, SDKConfiguration); + Invoices = new Invoices(_client, _securitySource, _serverUrl, SDKConfiguration); + LedgerAccounts = new LedgerAccounts(_client, _securitySource, _serverUrl, SDKConfiguration); + InvoiceItems = new InvoiceItems(_client, _securitySource, _serverUrl, SDKConfiguration); + CreditNotes = new CreditNotes(_client, _securitySource, _serverUrl, SDKConfiguration); + Customers = new Customers(_client, _securitySource, _serverUrl, SDKConfiguration); + Suppliers = new Suppliers(_client, _securitySource, _serverUrl, SDKConfiguration); + Payments = new Payments(_client, _securitySource, _serverUrl, SDKConfiguration); + CompanyInfo = new CompanyInfo(_client, _securitySource, _serverUrl, SDKConfiguration); + BalanceSheet = new BalanceSheet(_client, _securitySource, _serverUrl, SDKConfiguration); + ProfitAndLoss = new ProfitAndLoss(_client, _securitySource, _serverUrl, SDKConfiguration); + JournalEntries = new JournalEntries(_client, _securitySource, _serverUrl, SDKConfiguration); + PurchaseOrders = new PurchaseOrders(_client, _securitySource, _serverUrl, SDKConfiguration); + Subsidiaries = new Subsidiaries(_client, _securitySource, _serverUrl, SDKConfiguration); + Locations = new Locations(_client, _securitySource, _serverUrl, SDKConfiguration); + Departments = new Departments(_client, _securitySource, _serverUrl, SDKConfiguration); + Attachments = new Attachments(_client, _securitySource, _serverUrl, SDKConfiguration); + TrackingCategories = new TrackingCategories(_client, _securitySource, _serverUrl, SDKConfiguration); + BillPayments = new BillPayments(_client, _securitySource, _serverUrl, SDKConfiguration); + Expenses = new Expenses(_client, _securitySource, _serverUrl, SDKConfiguration); + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Activities.cs b/src/Apideck/Unify/SDK/Activities.cs new file mode 100644 index 00000000..331d3b4d --- /dev/null +++ b/src/Apideck/Unify/SDK/Activities.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IActivities + { + + /// + /// List activities + /// + /// + /// List activities + /// + /// + Task ListAsync(CrmActivitiesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create activity + /// + /// + /// Create activity + /// + /// + Task CreateAsync(CrmActivitiesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get activity + /// + /// + /// Get activity + /// + /// + Task GetAsync(CrmActivitiesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update activity + /// + /// + /// Update activity + /// + /// + Task UpdateAsync(CrmActivitiesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete activity + /// + /// + /// Delete activity + /// + /// + Task DeleteAsync(CrmActivitiesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Activities: IActivities + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Activities(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(CrmActivitiesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/activities", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.activitiesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmActivitiesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetActivitiesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmActivitiesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(CrmActivitiesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmActivitiesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/activities", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Activity", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.activitiesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmActivitiesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateActivityResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmActivitiesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(CrmActivitiesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmActivitiesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/activities/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.activitiesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmActivitiesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetActivityResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmActivitiesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(CrmActivitiesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmActivitiesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/activities/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Activity", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.activitiesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmActivitiesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateActivityResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmActivitiesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(CrmActivitiesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmActivitiesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/activities/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.activitiesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmActivitiesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteActivityResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmActivitiesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/ApiResourceCoverage.cs b/src/Apideck/Unify/SDK/ApiResourceCoverage.cs new file mode 100644 index 00000000..fdfbef34 --- /dev/null +++ b/src/Apideck/Unify/SDK/ApiResourceCoverage.cs @@ -0,0 +1,223 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IApiResourceCoverage + { + + /// + /// Get API Resource Coverage + /// + /// + /// Get API Resource Coverage + /// + /// + Task GetAsync(string id, string resourceId, string? appId = null, RetryConfig? retryConfig = null); + } + + public class ApiResourceCoverage: IApiResourceCoverage + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public ApiResourceCoverage(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task GetAsync(string id, string resourceId, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new ConnectorApiResourceCoverageOneRequest() + { + Id = id, + ResourceId = resourceId, + AppId = appId, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/connector/apis/{id}/resources/{resource_id}/coverage", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("connector.apiResourceCoverageOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new ConnectorApiResourceCoverageOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetApiResourceCoverageResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new ConnectorApiResourceCoverageOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/ApiResources.cs b/src/Apideck/Unify/SDK/ApiResources.cs new file mode 100644 index 00000000..37edd384 --- /dev/null +++ b/src/Apideck/Unify/SDK/ApiResources.cs @@ -0,0 +1,223 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IApiResources + { + + /// + /// Get API Resource + /// + /// + /// Get API Resource + /// + /// + Task GetAsync(string id, string resourceId, string? appId = null, RetryConfig? retryConfig = null); + } + + public class ApiResources: IApiResources + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public ApiResources(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task GetAsync(string id, string resourceId, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new ConnectorApiResourcesOneRequest() + { + Id = id, + ResourceId = resourceId, + AppId = appId, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/connector/apis/{id}/resources/{resource_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("connector.apiResourcesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new ConnectorApiResourcesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetApiResourceResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new ConnectorApiResourcesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Apideck.Unify.SDK.csproj b/src/Apideck/Unify/SDK/Apideck.Unify.SDK.csproj new file mode 100644 index 00000000..e58cccb5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Apideck.Unify.SDK.csproj @@ -0,0 +1,39 @@ + + + + true + Apideck.Unify.SDK + 0.0.4 + net8.0 + Speakeasy + Copyright (c) Speakeasy 2024 + https://developers.apideck.com + Apideck: The Apideck OpenAPI Spec: SDK Optimized + + + + enable + 1591 + + + + true + README.md + + + + + + + + + true + portable + + + + + + + + \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Apideck.cs b/src/Apideck/Unify/SDK/Apideck.cs new file mode 100644 index 00000000..da959a69 --- /dev/null +++ b/src/Apideck/Unify/SDK/Apideck.cs @@ -0,0 +1,190 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + /// + /// Apideck: The Apideck OpenAPI Spec: SDK Optimized + /// + /// https://developers.apideck.com} - Apideck Developer Docs + /// + public interface IApideck + { + public IAccounting Accounting { get; } + public IAts Ats { get; } + public ICrm Crm { get; } + public IEcommerce Ecommerce { get; } + public IFileStorage FileStorage { get; } + public IHris Hris { get; } + public ISms Sms { get; } + public IIssueTracking IssueTracking { get; } + public IConnector Connector { get; } + public IVault Vault { get; } + public IWebhook Webhook { get; } + } + + public class SDKConfig + { + /// + /// List of server URLs available to the SDK. + /// + public static readonly string[] ServerList = { + "https://unify.apideck.com", + }; + + public string ServerUrl = ""; + public int ServerIndex = 0; + public string? ConsumerId; + public string? AppId; + public SDKHooks Hooks = new SDKHooks(); + public RetryConfig? RetryConfig = null; + + public string GetTemplatedServerUrl() + { + if (!String.IsNullOrEmpty(this.ServerUrl)) + { + return Utilities.TemplateUrl(Utilities.RemoveSuffix(this.ServerUrl, "/"), new Dictionary()); + } + return Utilities.TemplateUrl(SDKConfig.ServerList[this.ServerIndex], new Dictionary()); + } + + public ISpeakeasyHttpClient InitHooks(ISpeakeasyHttpClient client) + { + string preHooksUrl = GetTemplatedServerUrl(); + var (postHooksUrl, postHooksClient) = this.Hooks.SDKInit(preHooksUrl, client); + if (preHooksUrl != postHooksUrl) + { + this.ServerUrl = postHooksUrl; + } + return postHooksClient; + } + } + + /// + /// Apideck: The Apideck OpenAPI Spec: SDK Optimized + /// + /// https://developers.apideck.com} - Apideck Developer Docs + /// + public class Apideck: IApideck + { + public SDKConfig SDKConfiguration { get; private set; } + + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private int _serverIndex = 0; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + public IAccounting Accounting { get; private set; } + public IAts Ats { get; private set; } + public ICrm Crm { get; private set; } + public IEcommerce Ecommerce { get; private set; } + public IFileStorage FileStorage { get; private set; } + public IHris Hris { get; private set; } + public ISms Sms { get; private set; } + public IIssueTracking IssueTracking { get; private set; } + public IConnector Connector { get; private set; } + public IVault Vault { get; private set; } + public IWebhook Webhook { get; private set; } + + public Apideck(string? apiKey = null, Func? apiKeySource = null, string? consumerId = null, string? appId = null, int? serverIndex = null, string? serverUrl = null, Dictionary? urlParams = null, ISpeakeasyHttpClient? client = null, RetryConfig? retryConfig = null) + { + if (serverIndex != null) + { + if (serverIndex.Value < 0 || serverIndex.Value >= SDKConfig.ServerList.Length) + { + throw new Exception($"Invalid server index {serverIndex.Value}"); + } + _serverIndex = serverIndex.Value; + } + + if (serverUrl != null) + { + if (urlParams != null) + { + serverUrl = Utilities.TemplateUrl(serverUrl, urlParams); + } + _serverUrl = serverUrl; + } + + _client = client ?? new SpeakeasyHttpClient(); + + if(apiKeySource != null) + { + _securitySource = () => new Apideck.Unify.SDK.Models.Components.Security() { ApiKey = apiKeySource() }; + } + else if(apiKey != null) + { + _securitySource = () => new Apideck.Unify.SDK.Models.Components.Security() { ApiKey = apiKey }; + } + else + { + throw new Exception("apiKey and apiKeySource cannot both be null"); + } + + SDKConfiguration = new SDKConfig() + { + ConsumerId = consumerId, + AppId = appId, + ServerIndex = _serverIndex, + ServerUrl = _serverUrl, + RetryConfig = retryConfig + }; + + _client = SDKConfiguration.InitHooks(_client); + + + Accounting = new Accounting(_client, _securitySource, _serverUrl, SDKConfiguration); + + + Ats = new Ats(_client, _securitySource, _serverUrl, SDKConfiguration); + + + Crm = new Crm(_client, _securitySource, _serverUrl, SDKConfiguration); + + + Ecommerce = new Ecommerce(_client, _securitySource, _serverUrl, SDKConfiguration); + + + FileStorage = new FileStorage(_client, _securitySource, _serverUrl, SDKConfiguration); + + + Hris = new Hris(_client, _securitySource, _serverUrl, SDKConfiguration); + + + Sms = new Sms(_client, _securitySource, _serverUrl, SDKConfiguration); + + + IssueTracking = new IssueTracking(_client, _securitySource, _serverUrl, SDKConfiguration); + + + Connector = new Connector(_client, _securitySource, _serverUrl, SDKConfiguration); + + + Vault = new Vault(_client, _securitySource, _serverUrl, SDKConfiguration); + + + Webhook = new Webhook(_client, _securitySource, _serverUrl, SDKConfiguration); + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/ApideckCompanies.cs b/src/Apideck/Unify/SDK/ApideckCompanies.cs new file mode 100644 index 00000000..609f1a75 --- /dev/null +++ b/src/Apideck/Unify/SDK/ApideckCompanies.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IApideckCompanies + { + + /// + /// List Companies + /// + /// + /// List Companies + /// + /// + Task ListAsync(HrisCompaniesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Company + /// + /// + /// Create Company + /// + /// + Task CreateAsync(HrisCompaniesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Company + /// + /// + /// Get Company + /// + /// + Task GetAsync(HrisCompaniesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Company + /// + /// + /// Update Company + /// + /// + Task UpdateAsync(HrisCompaniesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Company + /// + /// + /// Delete Company + /// + /// + Task DeleteAsync(HrisCompaniesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class ApideckCompanies: IApideckCompanies + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public ApideckCompanies(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(HrisCompaniesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/companies", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.companiesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new HrisCompaniesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetHrisCompaniesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new HrisCompaniesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(HrisCompaniesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisCompaniesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/companies", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "HrisCompany", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.companiesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisCompaniesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateHrisCompanyResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisCompaniesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(HrisCompaniesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisCompaniesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/companies/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.companiesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisCompaniesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetHrisCompanyResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisCompaniesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(HrisCompaniesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisCompaniesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/companies/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "HrisCompany", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.companiesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisCompaniesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateHrisCompanyResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisCompaniesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(HrisCompaniesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisCompaniesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/companies/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.companiesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisCompaniesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteHrisCompanyResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisCompaniesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/ApideckCustomers.cs b/src/Apideck/Unify/SDK/ApideckCustomers.cs new file mode 100644 index 00000000..fc9f98ba --- /dev/null +++ b/src/Apideck/Unify/SDK/ApideckCustomers.cs @@ -0,0 +1,431 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IApideckCustomers + { + + /// + /// List Customers + /// + /// + /// List Customers + /// + /// + Task ListAsync(EcommerceCustomersAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Get Customer + /// + /// + /// Get Customer + /// + /// + Task GetAsync(EcommerceCustomersOneRequest request, RetryConfig? retryConfig = null); + } + + public class ApideckCustomers: IApideckCustomers + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public ApideckCustomers(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(EcommerceCustomersAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ecommerce/customers", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ecommerce.customersAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new EcommerceCustomersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetEcommerceCustomersResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new EcommerceCustomersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(EcommerceCustomersOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new EcommerceCustomersOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ecommerce/customers/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ecommerce.customersOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new EcommerceCustomersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetEcommerceCustomerResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new EcommerceCustomersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/ApideckDepartments.cs b/src/Apideck/Unify/SDK/ApideckDepartments.cs new file mode 100644 index 00000000..4b46c78e --- /dev/null +++ b/src/Apideck/Unify/SDK/ApideckDepartments.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IApideckDepartments + { + + /// + /// List Departments + /// + /// + /// List Departments + /// + /// + Task ListAsync(HrisDepartmentsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Department + /// + /// + /// Create Department + /// + /// + Task CreateAsync(HrisDepartmentsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Department + /// + /// + /// Get Department + /// + /// + Task GetAsync(HrisDepartmentsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Department + /// + /// + /// Update Department + /// + /// + Task UpdateAsync(HrisDepartmentsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Department + /// + /// + /// Delete Department + /// + /// + Task DeleteAsync(HrisDepartmentsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class ApideckDepartments: IApideckDepartments + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public ApideckDepartments(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(HrisDepartmentsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/departments", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.departmentsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new HrisDepartmentsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetDepartmentsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new HrisDepartmentsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(HrisDepartmentsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisDepartmentsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/departments", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Department", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.departmentsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisDepartmentsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateDepartmentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisDepartmentsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(HrisDepartmentsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisDepartmentsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/departments/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.departmentsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisDepartmentsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetDepartmentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisDepartmentsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(HrisDepartmentsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisDepartmentsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/departments/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Department", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.departmentsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisDepartmentsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateDepartmentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisDepartmentsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(HrisDepartmentsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisDepartmentsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/departments/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.departmentsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisDepartmentsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteDepartmentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisDepartmentsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Apis.cs b/src/Apideck/Unify/SDK/Apis.cs new file mode 100644 index 00000000..43287e79 --- /dev/null +++ b/src/Apideck/Unify/SDK/Apis.cs @@ -0,0 +1,397 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IApis + { + + /// + /// List APIs + /// + /// + /// List APIs + /// + /// + Task ListAsync(string? appId = null, string? cursor = null, long? limit = null, ApisFilter? filter = null, RetryConfig? retryConfig = null); + + /// + /// Get API + /// + /// + /// Get API + /// + /// + Task GetAsync(string id, string? appId = null, RetryConfig? retryConfig = null); + } + + public class Apis: IApis + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Apis(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(string? appId = null, string? cursor = null, long? limit = null, ApisFilter? filter = null, RetryConfig? retryConfig = null) + { + var request = new ConnectorApisAllRequest() + { + AppId = appId, + Cursor = cursor, + Limit = limit, + Filter = filter, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/connector/apis", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("connector.apisAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new ConnectorApisAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetApisResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new ConnectorApisAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(string id, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new ConnectorApisOneRequest() + { + Id = id, + AppId = appId, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/connector/apis/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("connector.apisOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new ConnectorApisOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetApiResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new ConnectorApisOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Applicants.cs b/src/Apideck/Unify/SDK/Applicants.cs new file mode 100644 index 00000000..82312af9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Applicants.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IApplicants + { + + /// + /// List Applicants + /// + /// + /// List Applicants + /// + /// + Task ListAsync(AtsApplicantsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Applicant + /// + /// + /// Create Applicant + /// + /// + Task CreateAsync(AtsApplicantsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Applicant + /// + /// + /// Get Applicant + /// + /// + Task GetAsync(AtsApplicantsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Applicant + /// + /// + /// Update Applicant + /// + /// + Task UpdateAsync(AtsApplicantsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Applicant + /// + /// + /// Delete Applicant + /// + /// + Task DeleteAsync(AtsApplicantsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Applicants: IApplicants + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Applicants(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AtsApplicantsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ats/applicants", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ats.applicantsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AtsApplicantsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetApplicantsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AtsApplicantsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AtsApplicantsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AtsApplicantsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ats/applicants", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Applicant", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ats.applicantsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicantsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateApplicantResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicantsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AtsApplicantsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AtsApplicantsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ats/applicants/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ats.applicantsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicantsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetApplicantResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicantsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AtsApplicantsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AtsApplicantsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ats/applicants/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Applicant", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ats.applicantsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicantsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateApplicantResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicantsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AtsApplicantsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AtsApplicantsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ats/applicants/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ats.applicantsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicantsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteApplicantResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicantsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Applications.cs b/src/Apideck/Unify/SDK/Applications.cs new file mode 100644 index 00000000..b50a0975 --- /dev/null +++ b/src/Apideck/Unify/SDK/Applications.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IApplications + { + + /// + /// List Applications + /// + /// + /// List Applications + /// + /// + Task ListAsync(AtsApplicationsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Application + /// + /// + /// Create Application + /// + /// + Task CreateAsync(AtsApplicationsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Application + /// + /// + /// Get Application + /// + /// + Task GetAsync(AtsApplicationsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Application + /// + /// + /// Update Application + /// + /// + Task UpdateAsync(AtsApplicationsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Application + /// + /// + /// Delete Application + /// + /// + Task DeleteAsync(AtsApplicationsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Applications: IApplications + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Applications(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AtsApplicationsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ats/applications", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ats.applicationsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AtsApplicationsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetApplicationsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AtsApplicationsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AtsApplicationsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AtsApplicationsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ats/applications", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Application", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ats.applicationsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicationsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateApplicationResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicationsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AtsApplicationsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AtsApplicationsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ats/applications/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ats.applicationsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicationsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetApplicationResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicationsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AtsApplicationsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AtsApplicationsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ats/applications/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Application", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ats.applicationsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicationsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateApplicationResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicationsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AtsApplicationsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AtsApplicationsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ats/applications/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ats.applicationsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicationsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteApplicationResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsApplicationsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Ats.cs b/src/Apideck/Unify/SDK/Ats.cs new file mode 100644 index 00000000..da2a1ab5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Ats.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils; + using System; + + public interface IAts + { + public IJobs Jobs { get; } + public IApplicants Applicants { get; } + public IApplications Applications { get; } + } + + public class Ats: IAts + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + public IJobs Jobs { get; private set; } + public IApplicants Applicants { get; private set; } + public IApplications Applications { get; private set; } + + public Ats(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + Jobs = new Jobs(_client, _securitySource, _serverUrl, SDKConfiguration); + Applicants = new Applicants(_client, _securitySource, _serverUrl, SDKConfiguration); + Applications = new Applications(_client, _securitySource, _serverUrl, SDKConfiguration); + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Attachments.cs b/src/Apideck/Unify/SDK/Attachments.cs new file mode 100644 index 00000000..a3257e43 --- /dev/null +++ b/src/Apideck/Unify/SDK/Attachments.cs @@ -0,0 +1,820 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IAttachments + { + + /// + /// List Attachments + /// + /// + /// List Attachments + /// + /// + Task ListAsync(AccountingAttachmentsAllRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Attachment + /// + /// + /// Get Attachment + /// + /// + Task GetAsync(AccountingAttachmentsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Attachment + /// + /// + /// Delete Attachment + /// + /// + Task DeleteAsync(AccountingAttachmentsDeleteRequest request, RetryConfig? retryConfig = null); + + /// + /// Download Attachment + /// + /// + /// Download Attachment + /// + /// + Task DownloadAsync(AccountingAttachmentsDownloadRequest request, RetryConfig? retryConfig = null); + } + + public class Attachments: IAttachments + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Attachments(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingAttachmentsAllRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingAttachmentsAllRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/attachments/{reference_type}/{reference_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.attachmentsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingAttachmentsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetAttachmentsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingAttachmentsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingAttachmentsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingAttachmentsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/attachments/{reference_type}/{reference_id}/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.attachmentsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingAttachmentsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetAttachmentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingAttachmentsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingAttachmentsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingAttachmentsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/attachments/{reference_type}/{reference_id}/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.attachmentsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingAttachmentsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteAttachmentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingAttachmentsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DownloadAsync(AccountingAttachmentsDownloadRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingAttachmentsDownloadRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/attachments/{reference_type}/{reference_id}/{id}/download", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.attachmentsDownload", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("*/*", contentType)) + { + var response = new AccountingAttachmentsDownloadResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetAttachmentDownloadResponse = await httpResponse.Content.ReadAsByteArrayAsync(); + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingAttachmentsDownloadResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/BalanceSheet.cs b/src/Apideck/Unify/SDK/BalanceSheet.cs new file mode 100644 index 00000000..1c819ba5 --- /dev/null +++ b/src/Apideck/Unify/SDK/BalanceSheet.cs @@ -0,0 +1,238 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IBalanceSheet + { + + /// + /// Get BalanceSheet + /// + /// + /// Get BalanceSheet + /// + /// + Task GetAsync(AccountingBalanceSheetOneRequest? request = null, RetryConfig? retryConfig = null); + } + + public class BalanceSheet: IBalanceSheet + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public BalanceSheet(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task GetAsync(AccountingBalanceSheetOneRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/balance-sheet", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.balanceSheetOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingBalanceSheetOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetBalanceSheetResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingBalanceSheetOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/BillPayments.cs b/src/Apideck/Unify/SDK/BillPayments.cs new file mode 100644 index 00000000..9297301f --- /dev/null +++ b/src/Apideck/Unify/SDK/BillPayments.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IBillPayments + { + + /// + /// List Bill Payments + /// + /// + /// List Bill Payments + /// + /// + Task ListAsync(AccountingBillPaymentsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Bill Payment + /// + /// + /// Create Bill Payment + /// + /// + Task CreateAsync(AccountingBillPaymentsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Bill Payment + /// + /// + /// Get Bill Payment + /// + /// + Task GetAsync(AccountingBillPaymentsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Bill Payment + /// + /// + /// Update Bill Payment + /// + /// + Task UpdateAsync(AccountingBillPaymentsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Bill Payment + /// + /// + /// Delete Bill Payment + /// + /// + Task DeleteAsync(AccountingBillPaymentsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class BillPayments: IBillPayments + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public BillPayments(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingBillPaymentsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/bill-payments", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.billPaymentsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingBillPaymentsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetBillPaymentsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingBillPaymentsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingBillPaymentsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingBillPaymentsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/bill-payments", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "BillPayment", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.billPaymentsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillPaymentsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateBillPaymentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillPaymentsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingBillPaymentsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingBillPaymentsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/bill-payments/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.billPaymentsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillPaymentsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetBillPaymentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillPaymentsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingBillPaymentsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingBillPaymentsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/bill-payments/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "BillPayment", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.billPaymentsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillPaymentsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateBillPaymentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillPaymentsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingBillPaymentsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingBillPaymentsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/bill-payments/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.billPaymentsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillPaymentsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteBillPaymentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillPaymentsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Bills.cs b/src/Apideck/Unify/SDK/Bills.cs new file mode 100644 index 00000000..c6db2dcc --- /dev/null +++ b/src/Apideck/Unify/SDK/Bills.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IBills + { + + /// + /// List Bills + /// + /// + /// List Bills + /// + /// + Task ListAsync(AccountingBillsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Bill + /// + /// + /// Create Bill + /// + /// + Task CreateAsync(AccountingBillsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Bill + /// + /// + /// Get Bill + /// + /// + Task GetAsync(AccountingBillsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Bill + /// + /// + /// Update Bill + /// + /// + Task UpdateAsync(AccountingBillsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Bill + /// + /// + /// Delete Bill + /// + /// + Task DeleteAsync(AccountingBillsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Bills: IBills + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Bills(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingBillsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/bills", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.billsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingBillsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetBillsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingBillsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingBillsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingBillsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/bills", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Bill", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.billsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateBillResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingBillsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingBillsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/bills/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.billsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetBillResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingBillsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingBillsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/bills/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Bill", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.billsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateBillResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingBillsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingBillsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/bills/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.billsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteBillResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingBillsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/CollectionTags.cs b/src/Apideck/Unify/SDK/CollectionTags.cs new file mode 100644 index 00000000..d0c4ef84 --- /dev/null +++ b/src/Apideck/Unify/SDK/CollectionTags.cs @@ -0,0 +1,242 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ICollectionTags + { + + /// + /// List Tags + /// + /// + /// List Tags + /// + /// + Task ListAsync(IssueTrackingCollectionTagsAllRequest request, RetryConfig? retryConfig = null); + } + + public class CollectionTags: ICollectionTags + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public CollectionTags(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(IssueTrackingCollectionTagsAllRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new IssueTrackingCollectionTagsAllRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/issue-tracking/collections/{collection_id}/tags", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("issueTracking.collectionTagsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTagsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCollectionTagsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTagsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/CollectionTicketComments.cs b/src/Apideck/Unify/SDK/CollectionTicketComments.cs new file mode 100644 index 00000000..94f17a0f --- /dev/null +++ b/src/Apideck/Unify/SDK/CollectionTicketComments.cs @@ -0,0 +1,1026 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ICollectionTicketComments + { + + /// + /// List Comments + /// + /// + /// List Comments + /// + /// + Task ListAsync(IssueTrackingCollectionTicketCommentsAllRequest request, RetryConfig? retryConfig = null); + + /// + /// Create Comment + /// + /// + /// Create Comment + /// + /// + Task CreateAsync(IssueTrackingCollectionTicketCommentsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Comment + /// + /// + /// Get Comment + /// + /// + Task GetAsync(IssueTrackingCollectionTicketCommentsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Comment + /// + /// + /// Update Comment + /// + /// + Task UpdateAsync(IssueTrackingCollectionTicketCommentsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Comment + /// + /// + /// Delete Comment + /// + /// + Task DeleteAsync(IssueTrackingCollectionTicketCommentsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class CollectionTicketComments: ICollectionTicketComments + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public CollectionTicketComments(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(IssueTrackingCollectionTicketCommentsAllRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new IssueTrackingCollectionTicketCommentsAllRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/issue-tracking/collections/{collection_id}/tickets/{ticket_id}/comments", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("issueTracking.collectionTicketCommentsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketCommentsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCommentsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketCommentsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(IssueTrackingCollectionTicketCommentsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new IssueTrackingCollectionTicketCommentsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/issue-tracking/collections/{collection_id}/tickets/{ticket_id}/comments", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "CollectionTicketComment", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("issueTracking.collectionTicketCommentsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketCommentsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateCommentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketCommentsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(IssueTrackingCollectionTicketCommentsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new IssueTrackingCollectionTicketCommentsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/issue-tracking/collections/{collection_id}/tickets/{ticket_id}/comments/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("issueTracking.collectionTicketCommentsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketCommentsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCommentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketCommentsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(IssueTrackingCollectionTicketCommentsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new IssueTrackingCollectionTicketCommentsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/issue-tracking/collections/{collection_id}/tickets/{ticket_id}/comments/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "CollectionTicketComment", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("issueTracking.collectionTicketCommentsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketCommentsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateCommentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketCommentsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(IssueTrackingCollectionTicketCommentsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new IssueTrackingCollectionTicketCommentsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/issue-tracking/collections/{collection_id}/tickets/{ticket_id}/comments/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("issueTracking.collectionTicketCommentsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketCommentsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteCommentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketCommentsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/CollectionTickets.cs b/src/Apideck/Unify/SDK/CollectionTickets.cs new file mode 100644 index 00000000..bb0183f3 --- /dev/null +++ b/src/Apideck/Unify/SDK/CollectionTickets.cs @@ -0,0 +1,1026 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ICollectionTickets + { + + /// + /// List Tickets + /// + /// + /// List Tickets + /// + /// + Task ListAsync(IssueTrackingCollectionTicketsAllRequest request, RetryConfig? retryConfig = null); + + /// + /// Create Ticket + /// + /// + /// Create Ticket + /// + /// + Task CreateAsync(IssueTrackingCollectionTicketsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Ticket + /// + /// + /// Get Ticket + /// + /// + Task GetAsync(IssueTrackingCollectionTicketsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Ticket + /// + /// + /// Update Ticket + /// + /// + Task UpdateAsync(IssueTrackingCollectionTicketsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Ticket + /// + /// + /// Delete Ticket + /// + /// + Task DeleteAsync(IssueTrackingCollectionTicketsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class CollectionTickets: ICollectionTickets + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public CollectionTickets(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(IssueTrackingCollectionTicketsAllRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new IssueTrackingCollectionTicketsAllRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/issue-tracking/collections/{collection_id}/tickets", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("issueTracking.collectionTicketsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetTicketsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(IssueTrackingCollectionTicketsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new IssueTrackingCollectionTicketsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/issue-tracking/collections/{collection_id}/tickets", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Ticket", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("issueTracking.collectionTicketsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateTicketResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(IssueTrackingCollectionTicketsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new IssueTrackingCollectionTicketsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/issue-tracking/collections/{collection_id}/tickets/{ticket_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("issueTracking.collectionTicketsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetTicketResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(IssueTrackingCollectionTicketsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new IssueTrackingCollectionTicketsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/issue-tracking/collections/{collection_id}/tickets/{ticket_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Ticket", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("issueTracking.collectionTicketsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateTicketResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(IssueTrackingCollectionTicketsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new IssueTrackingCollectionTicketsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/issue-tracking/collections/{collection_id}/tickets/{ticket_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("issueTracking.collectionTicketsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteTicketResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionTicketsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/CollectionUsers.cs b/src/Apideck/Unify/SDK/CollectionUsers.cs new file mode 100644 index 00000000..e5269ea3 --- /dev/null +++ b/src/Apideck/Unify/SDK/CollectionUsers.cs @@ -0,0 +1,435 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ICollectionUsers + { + + /// + /// List Users + /// + /// + /// List Users + /// + /// + Task ListAsync(IssueTrackingCollectionUsersAllRequest request, RetryConfig? retryConfig = null); + + /// + /// Get user + /// + /// + /// Get user + /// + /// + Task GetAsync(IssueTrackingCollectionUsersOneRequest request, RetryConfig? retryConfig = null); + } + + public class CollectionUsers: ICollectionUsers + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public CollectionUsers(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(IssueTrackingCollectionUsersAllRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new IssueTrackingCollectionUsersAllRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/issue-tracking/collections/{collection_id}/users", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("issueTracking.collectionUsersAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionUsersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCollectionUsersResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionUsersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(IssueTrackingCollectionUsersOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new IssueTrackingCollectionUsersOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/issue-tracking/collections/{collection_id}/users/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("issueTracking.collectionUsersOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionUsersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCollectionUserResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionUsersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Collections.cs b/src/Apideck/Unify/SDK/Collections.cs new file mode 100644 index 00000000..d0f0bf74 --- /dev/null +++ b/src/Apideck/Unify/SDK/Collections.cs @@ -0,0 +1,431 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ICollections + { + + /// + /// List Collections + /// + /// + /// List Collections + /// + /// + Task ListAsync(IssueTrackingCollectionsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Get Collection + /// + /// + /// Get Collection + /// + /// + Task GetAsync(IssueTrackingCollectionsOneRequest request, RetryConfig? retryConfig = null); + } + + public class Collections: ICollections + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Collections(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(IssueTrackingCollectionsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/issue-tracking/collections", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("issueTracking.collectionsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new IssueTrackingCollectionsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCollectionsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new IssueTrackingCollectionsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(IssueTrackingCollectionsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new IssueTrackingCollectionsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/issue-tracking/collections/{collection_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("issueTracking.collectionsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCollectionResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new IssueTrackingCollectionsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Companies.cs b/src/Apideck/Unify/SDK/Companies.cs new file mode 100644 index 00000000..33f443a4 --- /dev/null +++ b/src/Apideck/Unify/SDK/Companies.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ICompanies + { + + /// + /// List companies + /// + /// + /// List companies + /// + /// + Task ListAsync(CrmCompaniesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create company + /// + /// + /// Create company + /// + /// + Task CreateAsync(CrmCompaniesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get company + /// + /// + /// Get company + /// + /// + Task GetAsync(CrmCompaniesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update company + /// + /// + /// Update company + /// + /// + Task UpdateAsync(CrmCompaniesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete company + /// + /// + /// Delete company + /// + /// + Task DeleteAsync(CrmCompaniesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Companies: ICompanies + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Companies(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(CrmCompaniesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/companies", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.companiesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmCompaniesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCompaniesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmCompaniesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(CrmCompaniesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmCompaniesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/companies", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Company", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.companiesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmCompaniesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateCompanyResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmCompaniesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(CrmCompaniesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmCompaniesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/companies/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.companiesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmCompaniesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCompanyResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmCompaniesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(CrmCompaniesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmCompaniesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/companies/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Company", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.companiesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmCompaniesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateCompanyResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmCompaniesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(CrmCompaniesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmCompaniesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/companies/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.companiesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmCompaniesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteCompanyResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmCompaniesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/CompanyInfo.cs b/src/Apideck/Unify/SDK/CompanyInfo.cs new file mode 100644 index 00000000..de5ea5d5 --- /dev/null +++ b/src/Apideck/Unify/SDK/CompanyInfo.cs @@ -0,0 +1,238 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ICompanyInfo + { + + /// + /// Get company info + /// + /// + /// Get company info + /// + /// + Task GetAsync(AccountingCompanyInfoOneRequest? request = null, RetryConfig? retryConfig = null); + } + + public class CompanyInfo: ICompanyInfo + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public CompanyInfo(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task GetAsync(AccountingCompanyInfoOneRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/company-info", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.companyInfoOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingCompanyInfoOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCompanyInfoResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingCompanyInfoOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/ConnectionCustomMappings.cs b/src/Apideck/Unify/SDK/ConnectionCustomMappings.cs new file mode 100644 index 00000000..b09ee750 --- /dev/null +++ b/src/Apideck/Unify/SDK/ConnectionCustomMappings.cs @@ -0,0 +1,242 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IConnectionCustomMappings + { + + /// + /// List connection custom mappings + /// + /// + /// This endpoint returns a list of custom mappings for a connection. + /// + /// + Task ListAsync(VaultConnectionCustomMappingsAllRequest request, RetryConfig? retryConfig = null); + } + + public class ConnectionCustomMappings: IConnectionCustomMappings + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public ConnectionCustomMappings(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(VaultConnectionCustomMappingsAllRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new VaultConnectionCustomMappingsAllRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/connections/{unified_api}/{service_id}/{resource}/custom-mappings", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.connectionCustomMappingsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConnectionCustomMappingsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCustomMappingsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConnectionCustomMappingsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/ConnectionSettings.cs b/src/Apideck/Unify/SDK/ConnectionSettings.cs new file mode 100644 index 00000000..34b94e0b --- /dev/null +++ b/src/Apideck/Unify/SDK/ConnectionSettings.cs @@ -0,0 +1,442 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IConnectionSettings + { + + /// + /// Get resource settings + /// + /// + /// This endpoint returns custom settings and their defaults required by connection for a given resource.
+ /// + ///
+ ///
+ Task ListAsync(VaultConnectionSettingsAllRequest request, RetryConfig? retryConfig = null); + + /// + /// Update settings + /// + /// + /// Update default values for a connection's resource settings + /// + /// + Task UpdateAsync(VaultConnectionSettingsUpdateRequest request, RetryConfig? retryConfig = null); + } + + public class ConnectionSettings: IConnectionSettings + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public ConnectionSettings(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(VaultConnectionSettingsAllRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new VaultConnectionSettingsAllRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/connections/{unified_api}/{service_id}/{resource}/config", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.connectionSettingsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConnectionSettingsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetConnectionResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConnectionSettingsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(VaultConnectionSettingsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new VaultConnectionSettingsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/connections/{unified_api}/{service_id}/{resource}/config", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Connection", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.connectionSettingsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConnectionSettingsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateConnectionResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConnectionSettingsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Connections.cs b/src/Apideck/Unify/SDK/Connections.cs new file mode 100644 index 00000000..2004bafc --- /dev/null +++ b/src/Apideck/Unify/SDK/Connections.cs @@ -0,0 +1,1236 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IConnections + { + + /// + /// Get all connections + /// + /// + /// This endpoint includes all the configured integrations and contains the required assets
+ /// to build an integrations page where your users can install integrations.
+ /// OAuth2 supported integrations will contain authorize and revoke links to handle the authentication flows.
+ /// + ///
+ ///
+ Task ListAsync(string? consumerId = null, string? appId = null, string? api = null, bool? configured = null, RetryConfig? retryConfig = null); + + /// + /// Get connection + /// + /// + /// Get a connection + /// + /// + Task GetAsync(string serviceId, string unifiedApi, string? consumerId = null, string? appId = null, RetryConfig? retryConfig = null); + + /// + /// Update connection + /// + /// + /// Update a connection + /// + /// + Task UpdateAsync(VaultConnectionsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Deletes a connection + /// + /// + /// Deletes a connection + /// + /// + Task DeleteAsync(string serviceId, string unifiedApi, string? consumerId = null, string? appId = null, RetryConfig? retryConfig = null); + + /// + /// Import connection + /// + /// + /// Import an authorized connection.
+ /// + ///
+ ///
+ Task ImportsAsync(VaultConnectionsImportRequest request, RetryConfig? retryConfig = null); + + /// + /// Authorize Access Token + /// + /// + /// Triggers exchanging persisted connection credentials for an access token and store it in Vault. Currently supported for connections with the `client_credentials` or `password` OAuth grant type.
+ ///
+ /// Note:
+ /// - Do not include any credentials in the request body. This operation does not persist changes, but only triggers the exchange of persisted connection credentials for an access token.
+ /// - The access token will not be returned in the response. A 200 response code indicates the authorization was successful and that a valid access token was stored on the connection.
+ /// - The access token will be used for subsequent API requests.
+ /// + ///
+ ///
+ Task TokenAsync(VaultConnectionsTokenRequest request, RetryConfig? retryConfig = null); + } + + public class Connections: IConnections + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Connections(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(string? consumerId = null, string? appId = null, string? api = null, bool? configured = null, RetryConfig? retryConfig = null) + { + var request = new VaultConnectionsAllRequest() + { + ConsumerId = consumerId, + AppId = appId, + Api = api, + Configured = configured, + }; + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/connections", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.connectionsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new VaultConnectionsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetConnectionsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new VaultConnectionsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(string serviceId, string unifiedApi, string? consumerId = null, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new VaultConnectionsOneRequest() + { + ServiceId = serviceId, + UnifiedApi = unifiedApi, + ConsumerId = consumerId, + AppId = appId, + }; + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/connections/{unified_api}/{service_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.connectionsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConnectionsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetConnectionResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConnectionsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(VaultConnectionsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new VaultConnectionsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/connections/{unified_api}/{service_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Connection", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.connectionsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConnectionsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateConnectionResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConnectionsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(string serviceId, string unifiedApi, string? consumerId = null, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new VaultConnectionsDeleteRequest() + { + ServiceId = serviceId, + UnifiedApi = unifiedApi, + ConsumerId = consumerId, + AppId = appId, + }; + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/connections/{unified_api}/{service_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.connectionsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 204) + { + return new VaultConnectionsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConnectionsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task ImportsAsync(VaultConnectionsImportRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new VaultConnectionsImportRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/connections/{unified_api}/{service_id}/import", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "ConnectionImportData", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.connectionsImport", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConnectionsImportResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateConnectionResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConnectionsImportResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task TokenAsync(VaultConnectionsTokenRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new VaultConnectionsTokenRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/connections/{unified_api}/{service_id}/token", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "RequestBody", "json", false, true); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.connectionsToken", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConnectionsTokenResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetConnectionResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConnectionsTokenResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Connector.cs b/src/Apideck/Unify/SDK/Connector.cs new file mode 100644 index 00000000..891ffe4d --- /dev/null +++ b/src/Apideck/Unify/SDK/Connector.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils; + using System; + + public interface IConnector + { + public IConnectors Connectors { get; } + public IConnectorDocs ConnectorDocs { get; } + public IConnectorResources ConnectorResources { get; } + public IApis Apis { get; } + public IApiResources ApiResources { get; } + public IApiResourceCoverage ApiResourceCoverage { get; } + } + + public class Connector: IConnector + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + public IConnectors Connectors { get; private set; } + public IConnectorDocs ConnectorDocs { get; private set; } + public IConnectorResources ConnectorResources { get; private set; } + public IApis Apis { get; private set; } + public IApiResources ApiResources { get; private set; } + public IApiResourceCoverage ApiResourceCoverage { get; private set; } + + public Connector(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + Connectors = new Connectors(_client, _securitySource, _serverUrl, SDKConfiguration); + ConnectorDocs = new ConnectorDocs(_client, _securitySource, _serverUrl, SDKConfiguration); + ConnectorResources = new ConnectorResources(_client, _securitySource, _serverUrl, SDKConfiguration); + Apis = new Apis(_client, _securitySource, _serverUrl, SDKConfiguration); + ApiResources = new ApiResources(_client, _securitySource, _serverUrl, SDKConfiguration); + ApiResourceCoverage = new ApiResourceCoverage(_client, _securitySource, _serverUrl, SDKConfiguration); + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/ConnectorDocs.cs b/src/Apideck/Unify/SDK/ConnectorDocs.cs new file mode 100644 index 00000000..9cd3e27f --- /dev/null +++ b/src/Apideck/Unify/SDK/ConnectorDocs.cs @@ -0,0 +1,222 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IConnectorDocs + { + + /// + /// Get Connector Doc content + /// + /// + /// Get Connector Doc content + /// + /// + Task GetAsync(string id, string docId, string? appId = null, RetryConfig? retryConfig = null); + } + + public class ConnectorDocs: IConnectorDocs + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public ConnectorDocs(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task GetAsync(string id, string docId, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new ConnectorConnectorDocsOneRequest() + { + Id = id, + DocId = docId, + AppId = appId, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/connector/connectors/{id}/docs/{doc_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("connector.connectorDocsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("text/markdown", contentType)) + { + var response = new ConnectorConnectorDocsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetConnectorDocResponse = await httpResponse.Content.ReadAsStringAsync(); + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new ConnectorConnectorDocsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/ConnectorResources.cs b/src/Apideck/Unify/SDK/ConnectorResources.cs new file mode 100644 index 00000000..1c8d5eaa --- /dev/null +++ b/src/Apideck/Unify/SDK/ConnectorResources.cs @@ -0,0 +1,224 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IConnectorResources + { + + /// + /// Get Connector Resource + /// + /// + /// Get Connector Resource + /// + /// + Task GetAsync(string id, string resourceId, string? appId = null, UnifiedApiId? unifiedApi = null, RetryConfig? retryConfig = null); + } + + public class ConnectorResources: IConnectorResources + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public ConnectorResources(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task GetAsync(string id, string resourceId, string? appId = null, UnifiedApiId? unifiedApi = null, RetryConfig? retryConfig = null) + { + var request = new ConnectorConnectorResourcesOneRequest() + { + Id = id, + ResourceId = resourceId, + AppId = appId, + UnifiedApi = unifiedApi, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/connector/connectors/{id}/resources/{resource_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("connector.connectorResourcesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new ConnectorConnectorResourcesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetConnectorResourceResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new ConnectorConnectorResourcesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Connectors.cs b/src/Apideck/Unify/SDK/Connectors.cs new file mode 100644 index 00000000..ce20d2e6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Connectors.cs @@ -0,0 +1,397 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IConnectors + { + + /// + /// List Connectors + /// + /// + /// List Connectors + /// + /// + Task ListAsync(string? appId = null, string? cursor = null, long? limit = null, ConnectorsFilter? filter = null, RetryConfig? retryConfig = null); + + /// + /// Get Connector + /// + /// + /// Get Connector + /// + /// + Task GetAsync(string id, string? appId = null, RetryConfig? retryConfig = null); + } + + public class Connectors: IConnectors + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Connectors(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(string? appId = null, string? cursor = null, long? limit = null, ConnectorsFilter? filter = null, RetryConfig? retryConfig = null) + { + var request = new ConnectorConnectorsAllRequest() + { + AppId = appId, + Cursor = cursor, + Limit = limit, + Filter = filter, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/connector/connectors", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("connector.connectorsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new ConnectorConnectorsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetConnectorsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new ConnectorConnectorsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(string id, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new ConnectorConnectorsOneRequest() + { + Id = id, + AppId = appId, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/connector/connectors/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("connector.connectorsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new ConnectorConnectorsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetConnectorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new ConnectorConnectorsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/ConsumerRequestCounts.cs b/src/Apideck/Unify/SDK/ConsumerRequestCounts.cs new file mode 100644 index 00000000..bb4810df --- /dev/null +++ b/src/Apideck/Unify/SDK/ConsumerRequestCounts.cs @@ -0,0 +1,245 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IConsumerRequestCounts + { + + /// + /// Consumer request counts + /// + /// + /// Get consumer request counts within a given datetime range.
+ /// + ///
+ ///
+ Task ListAsync(string consumerId, string startDatetime, string endDatetime, string? appId = null, RetryConfig? retryConfig = null); + } + + public class ConsumerRequestCounts: IConsumerRequestCounts + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public ConsumerRequestCounts(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(string consumerId, string startDatetime, string endDatetime, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new VaultConsumerRequestCountsAllRequest() + { + ConsumerId = consumerId, + StartDatetime = startDatetime, + EndDatetime = endDatetime, + AppId = appId, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/consumers/{consumer_id}/stats", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.consumerRequestCountsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConsumerRequestCountsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.ConsumerRequestCountsInDateRangeResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConsumerRequestCountsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Consumers.cs b/src/Apideck/Unify/SDK/Consumers.cs new file mode 100644 index 00000000..839c5493 --- /dev/null +++ b/src/Apideck/Unify/SDK/Consumers.cs @@ -0,0 +1,1031 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IConsumers + { + + /// + /// Create consumer + /// + /// + /// Create a consumer + /// + /// + Task CreateAsync(ConsumerInput consumer, string? appId = null, RetryConfig? retryConfig = null); + + /// + /// Get all consumers + /// + /// + /// This endpoint includes all application consumers, along with an aggregated count of requests made.
+ /// + ///
+ ///
+ Task ListAsync(string? appId = null, string? cursor = null, long? limit = null, RetryConfig? retryConfig = null); + + /// + /// Get consumer + /// + /// + /// Consumer detail including their aggregated counts with the connections they have authorized.
+ /// + ///
+ ///
+ Task GetAsync(string consumerId, string? appId = null, RetryConfig? retryConfig = null); + + /// + /// Update consumer + /// + /// + /// Update consumer metadata such as name and email. + /// + /// + Task UpdateAsync(string consumerId, UpdateConsumerRequest updateConsumerRequest, string? appId = null, RetryConfig? retryConfig = null); + + /// + /// Delete consumer + /// + /// + /// Delete consumer and all their connections, including credentials. + /// + /// + Task DeleteAsync(string consumerId, string? appId = null, RetryConfig? retryConfig = null); + } + + public class Consumers: IConsumers + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Consumers(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task CreateAsync(ConsumerInput consumer, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new VaultConsumersAddRequest() + { + Consumer = consumer, + AppId = appId, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + + var urlString = baseUrl + "/vault/consumers"; + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Consumer", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.consumersAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConsumersAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateConsumerResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConsumersAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task ListAsync(string? appId = null, string? cursor = null, long? limit = null, RetryConfig? retryConfig = null) + { + var request = new VaultConsumersAllRequest() + { + AppId = appId, + Cursor = cursor, + Limit = limit, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/consumers", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.consumersAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new VaultConsumersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetConsumersResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new VaultConsumersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(string consumerId, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new VaultConsumersOneRequest() + { + ConsumerId = consumerId, + AppId = appId, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/consumers/{consumer_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.consumersOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConsumersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetConsumerResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConsumersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(string consumerId, UpdateConsumerRequest updateConsumerRequest, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new VaultConsumersUpdateRequest() + { + ConsumerId = consumerId, + UpdateConsumerRequest = updateConsumerRequest, + AppId = appId, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/consumers/{consumer_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "UpdateConsumerRequest", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.consumersUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConsumersUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateConsumerResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConsumersUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(string consumerId, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new VaultConsumersDeleteRequest() + { + ConsumerId = consumerId, + AppId = appId, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/consumers/{consumer_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.consumersDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConsumersDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteConsumerResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultConsumersDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Contacts.cs b/src/Apideck/Unify/SDK/Contacts.cs new file mode 100644 index 00000000..e661f1a2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Contacts.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IContacts + { + + /// + /// List contacts + /// + /// + /// List contacts + /// + /// + Task ListAsync(CrmContactsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create contact + /// + /// + /// Create contact + /// + /// + Task CreateAsync(CrmContactsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get contact + /// + /// + /// Get contact + /// + /// + Task GetAsync(CrmContactsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update contact + /// + /// + /// Update contact + /// + /// + Task UpdateAsync(CrmContactsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete contact + /// + /// + /// Delete contact + /// + /// + Task DeleteAsync(CrmContactsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Contacts: IContacts + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Contacts(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(CrmContactsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/contacts", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.contactsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmContactsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetContactsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmContactsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(CrmContactsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmContactsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/contacts", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Contact", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.contactsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmContactsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateContactResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmContactsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(CrmContactsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmContactsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/contacts/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.contactsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmContactsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetContactResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmContactsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(CrmContactsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmContactsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/contacts/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Contact", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.contactsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmContactsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateContactResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmContactsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(CrmContactsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmContactsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/contacts/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.contactsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmContactsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteContactResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmContactsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/CreateCallback.cs b/src/Apideck/Unify/SDK/CreateCallback.cs new file mode 100644 index 00000000..0ad4a85e --- /dev/null +++ b/src/Apideck/Unify/SDK/CreateCallback.cs @@ -0,0 +1,249 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ICreateCallback + { + + /// + /// Create Callback State + /// + /// + /// This endpoint creates a callback state that can be used to issue requests to the callback endpoint.
+ /// + ///
+ ///
+ Task StateAsync(VaultCreateCallbackStateRequest request, RetryConfig? retryConfig = null); + } + + public class CreateCallback: ICreateCallback + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public CreateCallback(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task StateAsync(VaultCreateCallbackStateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new VaultCreateCallbackStateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/connections/{unified_api}/{service_id}/callback-state", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "CreateCallbackState", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.createCallbackState", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultCreateCallbackStateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateCallbackStateResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultCreateCallbackStateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/CreditNotes.cs b/src/Apideck/Unify/SDK/CreditNotes.cs new file mode 100644 index 00000000..c73dbd20 --- /dev/null +++ b/src/Apideck/Unify/SDK/CreditNotes.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ICreditNotes + { + + /// + /// List Credit Notes + /// + /// + /// List Credit Notes + /// + /// + Task ListAsync(AccountingCreditNotesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Credit Note + /// + /// + /// Create Credit Note + /// + /// + Task CreateAsync(AccountingCreditNotesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Credit Note + /// + /// + /// Get Credit Note + /// + /// + Task GetAsync(AccountingCreditNotesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Credit Note + /// + /// + /// Update Credit Note + /// + /// + Task UpdateAsync(AccountingCreditNotesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Credit Note + /// + /// + /// Delete Credit Note + /// + /// + Task DeleteAsync(AccountingCreditNotesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class CreditNotes: ICreditNotes + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public CreditNotes(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingCreditNotesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/credit-notes", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.creditNotesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingCreditNotesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCreditNotesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingCreditNotesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingCreditNotesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingCreditNotesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/credit-notes", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "CreditNote", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.creditNotesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCreditNotesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateCreditNoteResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCreditNotesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingCreditNotesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingCreditNotesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/credit-notes/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.creditNotesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCreditNotesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCreditNoteResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCreditNotesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingCreditNotesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingCreditNotesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/credit-notes/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "CreditNote", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.creditNotesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCreditNotesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateCreditNoteResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCreditNotesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingCreditNotesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingCreditNotesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/credit-notes/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.creditNotesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCreditNotesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteCreditNoteResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCreditNotesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Crm.cs b/src/Apideck/Unify/SDK/Crm.cs new file mode 100644 index 00000000..ba181a14 --- /dev/null +++ b/src/Apideck/Unify/SDK/Crm.cs @@ -0,0 +1,65 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils; + using System; + + public interface ICrm + { + public ICompanies Companies { get; } + public IContacts Contacts { get; } + public IOpportunities Opportunities { get; } + public ILeads Leads { get; } + public IPipelines Pipelines { get; } + public INotes Notes { get; } + public IUsers Users { get; } + public IActivities Activities { get; } + } + + public class Crm: ICrm + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + public ICompanies Companies { get; private set; } + public IContacts Contacts { get; private set; } + public IOpportunities Opportunities { get; private set; } + public ILeads Leads { get; private set; } + public IPipelines Pipelines { get; private set; } + public INotes Notes { get; private set; } + public IUsers Users { get; private set; } + public IActivities Activities { get; private set; } + + public Crm(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + Companies = new Companies(_client, _securitySource, _serverUrl, SDKConfiguration); + Contacts = new Contacts(_client, _securitySource, _serverUrl, SDKConfiguration); + Opportunities = new Opportunities(_client, _securitySource, _serverUrl, SDKConfiguration); + Leads = new Leads(_client, _securitySource, _serverUrl, SDKConfiguration); + Pipelines = new Pipelines(_client, _securitySource, _serverUrl, SDKConfiguration); + Notes = new Notes(_client, _securitySource, _serverUrl, SDKConfiguration); + Users = new Users(_client, _securitySource, _serverUrl, SDKConfiguration); + Activities = new Activities(_client, _securitySource, _serverUrl, SDKConfiguration); + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/CustomFields.cs b/src/Apideck/Unify/SDK/CustomFields.cs new file mode 100644 index 00000000..11868741 --- /dev/null +++ b/src/Apideck/Unify/SDK/CustomFields.cs @@ -0,0 +1,243 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ICustomFields + { + + /// + /// Get resource custom fields + /// + /// + /// This endpoint returns an custom fields on a connection resource.
+ /// + ///
+ ///
+ Task ListAsync(VaultCustomFieldsAllRequest request, RetryConfig? retryConfig = null); + } + + public class CustomFields: ICustomFields + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public CustomFields(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(VaultCustomFieldsAllRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new VaultCustomFieldsAllRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/connections/{unified_api}/{service_id}/{resource}/custom-fields", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.customFieldsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultCustomFieldsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCustomFieldsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultCustomFieldsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/CustomMappings.cs b/src/Apideck/Unify/SDK/CustomMappings.cs new file mode 100644 index 00000000..745ac6b1 --- /dev/null +++ b/src/Apideck/Unify/SDK/CustomMappings.cs @@ -0,0 +1,245 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ICustomMappings + { + + /// + /// List custom mappings + /// + /// + /// This endpoint returns a list of custom mappings. + /// + /// + Task ListAsync(string unifiedApi, string serviceId, string? consumerId = null, string? appId = null, RetryConfig? retryConfig = null); + } + + public class CustomMappings: ICustomMappings + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public CustomMappings(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(string unifiedApi, string serviceId, string? consumerId = null, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new VaultCustomMappingsAllRequest() + { + UnifiedApi = unifiedApi, + ServiceId = serviceId, + ConsumerId = consumerId, + AppId = appId, + }; + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/custom-mappings/{unified_api}/{service_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.customMappingsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultCustomMappingsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCustomMappingsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultCustomMappingsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Customers.cs b/src/Apideck/Unify/SDK/Customers.cs new file mode 100644 index 00000000..a236b9f0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Customers.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ICustomers + { + + /// + /// List Customers + /// + /// + /// List Customers + /// + /// + Task ListAsync(AccountingCustomersAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Customer + /// + /// + /// Create Customer + /// + /// + Task CreateAsync(AccountingCustomersAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Customer + /// + /// + /// Get Customer + /// + /// + Task GetAsync(AccountingCustomersOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Customer + /// + /// + /// Update Customer + /// + /// + Task UpdateAsync(AccountingCustomersUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Customer + /// + /// + /// Delete Customer + /// + /// + Task DeleteAsync(AccountingCustomersDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Customers: ICustomers + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Customers(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingCustomersAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/customers", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.customersAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingCustomersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCustomersResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingCustomersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingCustomersAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingCustomersAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/customers", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Customer", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.customersAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCustomersAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateCustomerResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCustomersAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingCustomersOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingCustomersOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/customers/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.customersOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCustomersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetCustomerResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCustomersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingCustomersUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingCustomersUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/customers/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Customer", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.customersUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCustomersUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateCustomerResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCustomersUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingCustomersDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingCustomersDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/customers/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.customersDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCustomersDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteCustomerResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingCustomersDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Departments.cs b/src/Apideck/Unify/SDK/Departments.cs new file mode 100644 index 00000000..53e0b31b --- /dev/null +++ b/src/Apideck/Unify/SDK/Departments.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IDepartments + { + + /// + /// List Departments + /// + /// + /// List Departments + /// + /// + Task ListAsync(AccountingDepartmentsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Department + /// + /// + /// Create Department + /// + /// + Task CreateAsync(AccountingDepartmentsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Department + /// + /// + /// Get Department + /// + /// + Task GetAsync(AccountingDepartmentsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Department + /// + /// + /// Update Department + /// + /// + Task UpdateAsync(AccountingDepartmentsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Department + /// + /// + /// Delete Department + /// + /// + Task DeleteAsync(AccountingDepartmentsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Departments: IDepartments + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Departments(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingDepartmentsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/departments", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.departmentsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingDepartmentsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetAccountingDepartmentsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingDepartmentsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingDepartmentsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingDepartmentsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/departments", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "AccountingDepartment", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.departmentsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingDepartmentsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateAccountingDepartmentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingDepartmentsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingDepartmentsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingDepartmentsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/departments/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.departmentsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingDepartmentsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetAccountingDepartmentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingDepartmentsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingDepartmentsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingDepartmentsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/departments/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "AccountingDepartment", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.departmentsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingDepartmentsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateAccountingDepartmentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingDepartmentsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingDepartmentsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingDepartmentsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/departments/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.departmentsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingDepartmentsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteAccountingDepartmentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingDepartmentsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/DriveGroups.cs b/src/Apideck/Unify/SDK/DriveGroups.cs new file mode 100644 index 00000000..176824b4 --- /dev/null +++ b/src/Apideck/Unify/SDK/DriveGroups.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IDriveGroups + { + + /// + /// List DriveGroups + /// + /// + /// List DriveGroups + /// + /// + Task ListAsync(FileStorageDriveGroupsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create DriveGroup + /// + /// + /// Create DriveGroup + /// + /// + Task CreateAsync(FileStorageDriveGroupsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get DriveGroup + /// + /// + /// Get DriveGroup + /// + /// + Task GetAsync(FileStorageDriveGroupsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update DriveGroup + /// + /// + /// Update DriveGroup + /// + /// + Task UpdateAsync(FileStorageDriveGroupsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete DriveGroup + /// + /// + /// Delete DriveGroup + /// + /// + Task DeleteAsync(FileStorageDriveGroupsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class DriveGroups: IDriveGroups + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public DriveGroups(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(FileStorageDriveGroupsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/drive-groups", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.driveGroupsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new FileStorageDriveGroupsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetDriveGroupsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new FileStorageDriveGroupsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(FileStorageDriveGroupsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageDriveGroupsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/drive-groups", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "DriveGroup", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.driveGroupsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDriveGroupsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateDriveGroupResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDriveGroupsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(FileStorageDriveGroupsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageDriveGroupsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/drive-groups/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.driveGroupsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDriveGroupsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetDriveGroupResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDriveGroupsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(FileStorageDriveGroupsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageDriveGroupsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/drive-groups/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "DriveGroup", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.driveGroupsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDriveGroupsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateDriveGroupResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDriveGroupsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(FileStorageDriveGroupsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageDriveGroupsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/drive-groups/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.driveGroupsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDriveGroupsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteDriveGroupResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDriveGroupsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Drives.cs b/src/Apideck/Unify/SDK/Drives.cs new file mode 100644 index 00000000..ac557e6e --- /dev/null +++ b/src/Apideck/Unify/SDK/Drives.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IDrives + { + + /// + /// List Drives + /// + /// + /// List Drives + /// + /// + Task ListAsync(FileStorageDrivesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Drive + /// + /// + /// Create Drive + /// + /// + Task CreateAsync(FileStorageDrivesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Drive + /// + /// + /// Get Drive + /// + /// + Task GetAsync(FileStorageDrivesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Drive + /// + /// + /// Update Drive + /// + /// + Task UpdateAsync(FileStorageDrivesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Drive + /// + /// + /// Delete Drive + /// + /// + Task DeleteAsync(FileStorageDrivesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Drives: IDrives + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Drives(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(FileStorageDrivesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/drives", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.drivesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new FileStorageDrivesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetDrivesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new FileStorageDrivesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(FileStorageDrivesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageDrivesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/drives", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Drive", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.drivesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDrivesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateDriveResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDrivesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(FileStorageDrivesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageDrivesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/drives/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.drivesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDrivesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetDriveResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDrivesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(FileStorageDrivesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageDrivesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/drives/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Drive", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.drivesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDrivesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateDriveResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDrivesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(FileStorageDrivesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageDrivesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/drives/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.drivesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDrivesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteDriveResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageDrivesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Ecommerce.cs b/src/Apideck/Unify/SDK/Ecommerce.cs new file mode 100644 index 00000000..b55d79cf --- /dev/null +++ b/src/Apideck/Unify/SDK/Ecommerce.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils; + using System; + + public interface IEcommerce + { + public IOrders Orders { get; } + public IProducts Products { get; } + public IApideckCustomers Customers { get; } + public IStores Stores { get; } + } + + public class Ecommerce: IEcommerce + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + public IOrders Orders { get; private set; } + public IProducts Products { get; private set; } + public IApideckCustomers Customers { get; private set; } + public IStores Stores { get; private set; } + + public Ecommerce(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + Orders = new Orders(_client, _securitySource, _serverUrl, SDKConfiguration); + Products = new Products(_client, _securitySource, _serverUrl, SDKConfiguration); + Customers = new ApideckCustomers(_client, _securitySource, _serverUrl, SDKConfiguration); + Stores = new Stores(_client, _securitySource, _serverUrl, SDKConfiguration); + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/EmployeePayrolls.cs b/src/Apideck/Unify/SDK/EmployeePayrolls.cs new file mode 100644 index 00000000..0d0ed900 --- /dev/null +++ b/src/Apideck/Unify/SDK/EmployeePayrolls.cs @@ -0,0 +1,435 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IEmployeePayrolls + { + + /// + /// List Employee Payrolls + /// + /// + /// List payrolls for employee + /// + /// + Task ListAsync(HrisEmployeePayrollsAllRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Employee Payroll + /// + /// + /// Get payroll for employee + /// + /// + Task GetAsync(HrisEmployeePayrollsOneRequest request, RetryConfig? retryConfig = null); + } + + public class EmployeePayrolls: IEmployeePayrolls + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public EmployeePayrolls(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(HrisEmployeePayrollsAllRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisEmployeePayrollsAllRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/payrolls/employees/{employee_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.employeePayrollsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisEmployeePayrollsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetEmployeePayrollsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisEmployeePayrollsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(HrisEmployeePayrollsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisEmployeePayrollsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/payrolls/employees/{employee_id}/payrolls/{payroll_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.employeePayrollsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisEmployeePayrollsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetEmployeePayrollResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisEmployeePayrollsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/EmployeeSchedules.cs b/src/Apideck/Unify/SDK/EmployeeSchedules.cs new file mode 100644 index 00000000..f4388eb1 --- /dev/null +++ b/src/Apideck/Unify/SDK/EmployeeSchedules.cs @@ -0,0 +1,242 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IEmployeeSchedules + { + + /// + /// List Employee Schedules + /// + /// + /// List schedules for employee, a schedule is a work pattern, not the actual worked hours, for an employee. + /// + /// + Task ListAsync(HrisEmployeeSchedulesAllRequest request, RetryConfig? retryConfig = null); + } + + public class EmployeeSchedules: IEmployeeSchedules + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public EmployeeSchedules(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(HrisEmployeeSchedulesAllRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisEmployeeSchedulesAllRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/schedules/employees/{employee_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.employeeSchedulesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisEmployeeSchedulesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetEmployeeSchedulesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisEmployeeSchedulesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Employees.cs b/src/Apideck/Unify/SDK/Employees.cs new file mode 100644 index 00000000..c7a3552f --- /dev/null +++ b/src/Apideck/Unify/SDK/Employees.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IEmployees + { + + /// + /// List Employees + /// + /// + /// Apideck operates as a stateless Unified API, which means that the list endpoint only provides a portion of the employee model. This is due to the fact that most HRIS systems do not readily provide all data in every call. However, you can access the complete employee model through an employee detail call. + /// + /// + Task ListAsync(HrisEmployeesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Employee + /// + /// + /// Create Employee + /// + /// + Task CreateAsync(HrisEmployeesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Employee + /// + /// + /// Get Employee + /// + /// + Task GetAsync(HrisEmployeesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Employee + /// + /// + /// Update Employee + /// + /// + Task UpdateAsync(HrisEmployeesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Employee + /// + /// + /// Delete Employee + /// + /// + Task DeleteAsync(HrisEmployeesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Employees: IEmployees + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Employees(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(HrisEmployeesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/employees", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.employeesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new HrisEmployeesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetEmployeesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new HrisEmployeesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(HrisEmployeesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisEmployeesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/employees", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Employee", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.employeesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisEmployeesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateEmployeeResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisEmployeesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(HrisEmployeesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisEmployeesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/employees/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.employeesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisEmployeesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetEmployeeResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisEmployeesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(HrisEmployeesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisEmployeesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/employees/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Employee", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.employeesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisEmployeesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateEmployeeResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisEmployeesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(HrisEmployeesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisEmployeesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/employees/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.employeesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisEmployeesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteEmployeeResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisEmployeesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Expenses.cs b/src/Apideck/Unify/SDK/Expenses.cs new file mode 100644 index 00000000..bd6b88d2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Expenses.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IExpenses + { + + /// + /// List Expenses + /// + /// + /// List Expenses + /// + /// + Task ListAsync(AccountingExpensesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Expense + /// + /// + /// Create Expense + /// + /// + Task CreateAsync(AccountingExpensesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Expense + /// + /// + /// Get Expense + /// + /// + Task GetAsync(AccountingExpensesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Expense + /// + /// + /// Update Expense + /// + /// + Task UpdateAsync(AccountingExpensesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Expense + /// + /// + /// Delete Expense + /// + /// + Task DeleteAsync(AccountingExpensesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Expenses: IExpenses + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Expenses(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingExpensesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/expenses", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.expensesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingExpensesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetExpensesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingExpensesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingExpensesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingExpensesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/expenses", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Expense", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.expensesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingExpensesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateExpenseResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingExpensesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingExpensesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingExpensesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/expenses/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.expensesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingExpensesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetExpenseResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingExpensesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingExpensesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingExpensesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/expenses/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Expense", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.expensesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingExpensesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateExpenseResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingExpensesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingExpensesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingExpensesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/expenses/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.expensesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingExpensesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteExpenseResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingExpensesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/FileStorage.cs b/src/Apideck/Unify/SDK/FileStorage.cs new file mode 100644 index 00000000..27ec63f7 --- /dev/null +++ b/src/Apideck/Unify/SDK/FileStorage.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils; + using System; + + public interface IFileStorage + { + public IFiles Files { get; } + public IFolders Folders { get; } + public ISharedLinks SharedLinks { get; } + public IUploadSessions UploadSessions { get; } + public IDrives Drives { get; } + public IDriveGroups DriveGroups { get; } + } + + public class FileStorage: IFileStorage + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + public IFiles Files { get; private set; } + public IFolders Folders { get; private set; } + public ISharedLinks SharedLinks { get; private set; } + public IUploadSessions UploadSessions { get; private set; } + public IDrives Drives { get; private set; } + public IDriveGroups DriveGroups { get; private set; } + + public FileStorage(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + Files = new Files(_client, _securitySource, _serverUrl, SDKConfiguration); + Folders = new Folders(_client, _securitySource, _serverUrl, SDKConfiguration); + SharedLinks = new SharedLinks(_client, _securitySource, _serverUrl, SDKConfiguration); + UploadSessions = new UploadSessions(_client, _securitySource, _serverUrl, SDKConfiguration); + Drives = new Drives(_client, _securitySource, _serverUrl, SDKConfiguration); + DriveGroups = new DriveGroups(_client, _securitySource, _serverUrl, SDKConfiguration); + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Files.cs b/src/Apideck/Unify/SDK/Files.cs new file mode 100644 index 00000000..586bf75d --- /dev/null +++ b/src/Apideck/Unify/SDK/Files.cs @@ -0,0 +1,1406 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IFiles + { + + /// + /// List Files + /// + /// + /// List Files + /// + /// + Task ListAsync(FileStorageFilesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Search Files + /// + /// + /// Search Files + /// + /// + Task SearchAsync(FileStorageFilesSearchRequest request, RetryConfig? retryConfig = null); + + /// + /// Get File + /// + /// + /// Get File + /// + /// + Task GetAsync(FileStorageFilesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Rename or move File + /// + /// + /// Rename or move File + /// + /// + Task UpdateAsync(FileStorageFilesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete File + /// + /// + /// Delete File + /// + /// + Task DeleteAsync(FileStorageFilesDeleteRequest request, RetryConfig? retryConfig = null); + + /// + /// Download File + /// + /// + /// Download File + /// + /// + Task DownloadAsync(FileStorageFilesDownloadRequest request, RetryConfig? retryConfig = null); + + /// + /// Export File + /// + /// + /// Export File + /// + /// + Task ExportAsync(FileStorageFilesExportRequest request, RetryConfig? retryConfig = null); + } + + public class Files: IFiles + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Files(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(FileStorageFilesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/files", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.filesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new FileStorageFilesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetFilesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new FileStorageFilesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task SearchAsync(FileStorageFilesSearchRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageFilesSearchRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/files/search", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "FilesSearch", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.filesSearch", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFilesSearchResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetFilesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFilesSearchResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(FileStorageFilesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageFilesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/files/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.filesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFilesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetFileResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFilesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(FileStorageFilesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageFilesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/files/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "UpdateFileRequest", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.filesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFilesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateFileResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFilesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(FileStorageFilesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageFilesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/files/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.filesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFilesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteFileResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFilesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DownloadAsync(FileStorageFilesDownloadRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageFilesDownloadRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/files/{id}/download", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.filesDownload", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("*/*", contentType)) + { + var response = new FileStorageFilesDownloadResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetFileDownloadResponse = await httpResponse.Content.ReadAsByteArrayAsync(); + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFilesDownloadResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task ExportAsync(FileStorageFilesExportRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageFilesExportRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/files/{id}/export", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.filesExport", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("*/*", contentType)) + { + var response = new FileStorageFilesExportResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetFileDownloadResponse = await httpResponse.Content.ReadAsByteArrayAsync(); + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFilesExportResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Folders.cs b/src/Apideck/Unify/SDK/Folders.cs new file mode 100644 index 00000000..d381aba2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Folders.cs @@ -0,0 +1,1032 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IFolders + { + + /// + /// Create Folder + /// + /// + /// Create Folder + /// + /// + Task CreateAsync(FileStorageFoldersAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Folder + /// + /// + /// Get Folder + /// + /// + Task GetAsync(FileStorageFoldersOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Rename or move Folder + /// + /// + /// Rename or move Folder + /// + /// + Task UpdateAsync(FileStorageFoldersUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Folder + /// + /// + /// Delete Folder + /// + /// + Task DeleteAsync(FileStorageFoldersDeleteRequest request, RetryConfig? retryConfig = null); + + /// + /// Copy Folder + /// + /// + /// Copy Folder + /// + /// + Task CopyAsync(FileStorageFoldersCopyRequest request, RetryConfig? retryConfig = null); + } + + public class Folders: IFolders + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Folders(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task CreateAsync(FileStorageFoldersAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageFoldersAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/folders", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "CreateFolderRequest", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.foldersAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFoldersAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateFolderResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFoldersAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(FileStorageFoldersOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageFoldersOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/folders/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.foldersOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFoldersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetFolderResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFoldersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(FileStorageFoldersUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageFoldersUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/folders/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "UpdateFolderRequest", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.foldersUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFoldersUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateFolderResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFoldersUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(FileStorageFoldersDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageFoldersDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/folders/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.foldersDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFoldersDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteFolderResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFoldersDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CopyAsync(FileStorageFoldersCopyRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageFoldersCopyRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/folders/{id}/copy", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "CopyFolderRequest", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.foldersCopy", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFoldersCopyResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateFolderResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageFoldersCopyResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Hooks/HookRegistration.cs b/src/Apideck/Unify/SDK/Hooks/HookRegistration.cs new file mode 100644 index 00000000..b3ed11fd --- /dev/null +++ b/src/Apideck/Unify/SDK/Hooks/HookRegistration.cs @@ -0,0 +1,31 @@ + +namespace Apideck.Unify.SDK.Hooks +{ + /// + /// Hook Registration File. + /// + /// + /// This file is only ever generated once on the first generation and then is free to be modified. + /// Any hooks you wish to add should be registered in the InitHooks function. Feel free to define them + /// in this file or in separate files in the Hooks folder. + /// + public static class HookRegistration + { + /// + /// Initializes hooks. + /// + /// + /// Add hooks by calling `Apideck.Unify.SDK.Hooks.Register<HookInterface>(myHook);` + /// where `I<HookInterface>` is one of the following interfaces defined in HookTypes.cs: + /// - ISDKInitHook + /// - IBeforeRequestHook + /// - IAfterSuccess + /// - IAfterError + /// and `myHook` an instance that implements that specific interface. + /// + public static void InitHooks(IHooks hooks) + { + // hooks.RegisterBeforeRequestHook(new AuthHook()); + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Hooks/HookTypes.cs b/src/Apideck/Unify/SDK/Hooks/HookTypes.cs new file mode 100644 index 00000000..9c1a2481 --- /dev/null +++ b/src/Apideck/Unify/SDK/Hooks/HookTypes.cs @@ -0,0 +1,98 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Hooks +{ + using System; + using System.Collections.Generic; + using System.Net.Http; + using System.Threading.Tasks; + using Apideck.Unify.SDK.Utils; + + public class HookContext + { + public string OperationID { get; set; } + public List? Oauth2Scopes { get; set; } + public Func? SecuritySource { get; set; } + + public HookContext(string operationID, List? oauth2Scopes, Func? securitySource) + { + OperationID = operationID; + Oauth2Scopes = oauth2Scopes; + SecuritySource = securitySource; + } + } + + public class BeforeRequestContext : HookContext + { + public BeforeRequestContext(HookContext hookCtx) + : base(hookCtx.OperationID, hookCtx.Oauth2Scopes, hookCtx.SecuritySource) { } + } + + public class AfterSuccessContext : HookContext + { + public AfterSuccessContext(HookContext hookCtx) + : base(hookCtx.OperationID, hookCtx.Oauth2Scopes, hookCtx.SecuritySource) { } + } + + public class AfterErrorContext : HookContext + { + public AfterErrorContext(HookContext hookCtx) + : base(hookCtx.OperationID, hookCtx.Oauth2Scopes, hookCtx.SecuritySource) { } + } + + /// + /// SDKInit hook is called when the SDK is initializing. + /// The hook can modify and return a new baseUrl and HTTP client to be used by the SDK. + /// + public interface ISDKInitHook + { + (string, ISpeakeasyHttpClient) SDKInit(string baseUrl, ISpeakeasyHttpClient client); + } + + /// + /// BeforeRequestAsync hook is called before the SDK sends a request. + /// The hook can modify the request before it is sent or throw an exception to stop the request from being sent. + /// + public interface IBeforeRequestHook + { + Task BeforeRequestAsync(BeforeRequestContext hookCtx, HttpRequestMessage request); + } + + /// + /// AfterSuccessAsync is called after the SDK receives a response. + /// The hook can modify the response before it is handled or throw an exception to stop the response from being handled. + /// + public interface IAfterSuccessHook + { + Task AfterSuccessAsync(AfterSuccessContext hookCtx, HttpResponseMessage response); + } + + /// + /// AfterErrorAsync is called after the SDK encounters an error, or a non-successful response. + /// The hook can modify the response, if available, otherwise modify the error. + /// All hooks are called sequentially. If an error is returned, it will be passed to the subsequent hook implementing IAfterErrorHook. + /// If you want to prevent other AfterError hooks from being run, you can throw an FailEarlyException instead. + /// + public interface IAfterErrorHook + { + Task<(HttpResponseMessage?, Exception?)> AfterErrorAsync(AfterErrorContext hookCtx, HttpResponseMessage? response, Exception? error); + } + + public interface IHooks + { + void RegisterSDKInitHook(ISDKInitHook hook); + + void RegisterBeforeRequestHook(IBeforeRequestHook hook); + + void RegisterAfterSuccessHook(IAfterSuccessHook hook); + + void RegisterAfterErrorHook(IAfterErrorHook hook); + } +} diff --git a/src/Apideck/Unify/SDK/Hooks/SDKHooks.cs b/src/Apideck/Unify/SDK/Hooks/SDKHooks.cs new file mode 100644 index 00000000..0ee1b986 --- /dev/null +++ b/src/Apideck/Unify/SDK/Hooks/SDKHooks.cs @@ -0,0 +1,129 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Hooks +{ + using Apideck.Unify.SDK.Utils; + using System; + using System.Collections.Generic; + using System.Net.Http; + using System.Threading.Tasks; + + public sealed class FailEarlyException : Exception {} + + public class SDKHooks: IHooks + { + public List sdkInitHooks; + public List beforeRequestHooks; + public List afterSuccessHooks; + public List afterErrorHooks; + + public SDKHooks() + { + this.sdkInitHooks = new List(); + this.beforeRequestHooks = new List(); + this.afterSuccessHooks = new List(); + this.afterErrorHooks = new List(); + HookRegistration.InitHooks(this); + } + + public void RegisterSDKInitHook(ISDKInitHook hook) + { + this.sdkInitHooks.Add(hook); + } + + public void RegisterBeforeRequestHook(IBeforeRequestHook hook) + { + this.beforeRequestHooks.Add(hook); + } + + public void RegisterAfterSuccessHook(IAfterSuccessHook hook) + { + this.afterSuccessHooks.Add(hook); + } + + public void RegisterAfterErrorHook(IAfterErrorHook hook) + { + this.afterErrorHooks.Add(hook); + } + + public (string, ISpeakeasyHttpClient) SDKInit(string baseUrl, ISpeakeasyHttpClient client) + { + var urlAndClient = (baseUrl, client); + foreach (var hook in this.sdkInitHooks) + { + try + { + urlAndClient = hook.SDKInit(urlAndClient.Item1, urlAndClient.Item2); + } catch (Exception ex) + { + throw new Exception("An error occurred while calling SDKInit hook.", ex); + } + } + return urlAndClient; + } + + public async Task BeforeRequestAsync(BeforeRequestContext hookCtx, HttpRequestMessage request) + { + foreach (var hook in this.beforeRequestHooks) + { + try + { + request = await hook.BeforeRequestAsync(hookCtx, request); + } catch (Exception ex) + { + throw new Exception("An error occurred while calling BeforeRequestAsync hook", ex); + } + } + return request; + } + + public async Task AfterSuccessAsync(AfterSuccessContext hookCtx, HttpResponseMessage response) + { + foreach (var hook in this.afterSuccessHooks) + { + try + { + response = await hook.AfterSuccessAsync(hookCtx, response); + } + catch (Exception ex) + { + throw new Exception("An error occurred while calling AfterSuccessAsync hook.", ex); + } + } + return response; + } + + public async Task AfterErrorAsync(AfterErrorContext hookCtx, HttpResponseMessage? response, Exception? error) + { + + (HttpResponseMessage?, Exception?) responseAndError = (response, error); + foreach (var hook in this.afterErrorHooks) + { + try + { + responseAndError = await hook.AfterErrorAsync(hookCtx, responseAndError.Item1, responseAndError.Item2); + } catch (FailEarlyException) + { + throw; + } catch (Exception ex) + { + throw new Exception("An error occurred while calling AfterErrorAsync hook", ex); + } + } + + if (responseAndError.Item2 != null) + { + throw responseAndError.Item2; + } + + return responseAndError.Item1; + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Hris.cs b/src/Apideck/Unify/SDK/Hris.cs new file mode 100644 index 00000000..af2b2283 --- /dev/null +++ b/src/Apideck/Unify/SDK/Hris.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils; + using System; + + public interface IHris + { + public IEmployees Employees { get; } + public IApideckCompanies Companies { get; } + public IApideckDepartments Departments { get; } + public IPayrolls Payrolls { get; } + public IEmployeePayrolls EmployeePayrolls { get; } + public IEmployeeSchedules EmployeeSchedules { get; } + public ITimeOffRequests TimeOffRequests { get; } + } + + public class Hris: IHris + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + public IEmployees Employees { get; private set; } + public IApideckCompanies Companies { get; private set; } + public IApideckDepartments Departments { get; private set; } + public IPayrolls Payrolls { get; private set; } + public IEmployeePayrolls EmployeePayrolls { get; private set; } + public IEmployeeSchedules EmployeeSchedules { get; private set; } + public ITimeOffRequests TimeOffRequests { get; private set; } + + public Hris(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + Employees = new Employees(_client, _securitySource, _serverUrl, SDKConfiguration); + Companies = new ApideckCompanies(_client, _securitySource, _serverUrl, SDKConfiguration); + Departments = new ApideckDepartments(_client, _securitySource, _serverUrl, SDKConfiguration); + Payrolls = new Payrolls(_client, _securitySource, _serverUrl, SDKConfiguration); + EmployeePayrolls = new EmployeePayrolls(_client, _securitySource, _serverUrl, SDKConfiguration); + EmployeeSchedules = new EmployeeSchedules(_client, _securitySource, _serverUrl, SDKConfiguration); + TimeOffRequests = new TimeOffRequests(_client, _securitySource, _serverUrl, SDKConfiguration); + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/InvoiceItems.cs b/src/Apideck/Unify/SDK/InvoiceItems.cs new file mode 100644 index 00000000..5d3151e2 --- /dev/null +++ b/src/Apideck/Unify/SDK/InvoiceItems.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IInvoiceItems + { + + /// + /// List Invoice Items + /// + /// + /// List Invoice Items + /// + /// + Task ListAsync(AccountingInvoiceItemsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Invoice Item + /// + /// + /// Create Invoice Item + /// + /// + Task CreateAsync(AccountingInvoiceItemsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Invoice Item + /// + /// + /// Get Invoice Item + /// + /// + Task GetAsync(AccountingInvoiceItemsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Invoice Item + /// + /// + /// Update Invoice Item + /// + /// + Task UpdateAsync(AccountingInvoiceItemsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Invoice Item + /// + /// + /// Delete Invoice Item + /// + /// + Task DeleteAsync(AccountingInvoiceItemsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class InvoiceItems: IInvoiceItems + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public InvoiceItems(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingInvoiceItemsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/invoice-items", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.invoiceItemsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingInvoiceItemsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetInvoiceItemsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingInvoiceItemsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingInvoiceItemsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingInvoiceItemsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/invoice-items", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "InvoiceItem", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.invoiceItemsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoiceItemsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateInvoiceItemResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoiceItemsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingInvoiceItemsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingInvoiceItemsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/invoice-items/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.invoiceItemsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoiceItemsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetInvoiceItemResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoiceItemsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingInvoiceItemsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingInvoiceItemsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/invoice-items/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "InvoiceItem", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.invoiceItemsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoiceItemsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateInvoiceItemsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoiceItemsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingInvoiceItemsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingInvoiceItemsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/invoice-items/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.invoiceItemsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoiceItemsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteTaxRateResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoiceItemsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Invoices.cs b/src/Apideck/Unify/SDK/Invoices.cs new file mode 100644 index 00000000..7b18e6e4 --- /dev/null +++ b/src/Apideck/Unify/SDK/Invoices.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IInvoices + { + + /// + /// List Invoices + /// + /// + /// List Invoices + /// + /// + Task ListAsync(AccountingInvoicesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Invoice + /// + /// + /// Create Invoice + /// + /// + Task CreateAsync(AccountingInvoicesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Invoice + /// + /// + /// Get Invoice + /// + /// + Task GetAsync(AccountingInvoicesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Invoice + /// + /// + /// Update Invoice + /// + /// + Task UpdateAsync(AccountingInvoicesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Invoice + /// + /// + /// Delete Invoice + /// + /// + Task DeleteAsync(AccountingInvoicesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Invoices: IInvoices + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Invoices(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingInvoicesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/invoices", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.invoicesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingInvoicesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetInvoicesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingInvoicesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingInvoicesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingInvoicesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/invoices", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Invoice", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.invoicesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoicesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateInvoiceResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoicesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingInvoicesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingInvoicesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/invoices/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.invoicesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoicesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetInvoiceResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoicesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingInvoicesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingInvoicesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/invoices/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Invoice", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.invoicesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoicesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateInvoiceResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoicesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingInvoicesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingInvoicesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/invoices/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.invoicesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoicesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteInvoiceResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingInvoicesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/IssueTracking.cs b/src/Apideck/Unify/SDK/IssueTracking.cs new file mode 100644 index 00000000..d576bf66 --- /dev/null +++ b/src/Apideck/Unify/SDK/IssueTracking.cs @@ -0,0 +1,56 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils; + using System; + + public interface IIssueTracking + { + public ICollections Collections { get; } + public ICollectionTickets CollectionTickets { get; } + public ICollectionTicketComments CollectionTicketComments { get; } + public ICollectionUsers CollectionUsers { get; } + public ICollectionTags CollectionTags { get; } + } + + public class IssueTracking: IIssueTracking + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + public ICollections Collections { get; private set; } + public ICollectionTickets CollectionTickets { get; private set; } + public ICollectionTicketComments CollectionTicketComments { get; private set; } + public ICollectionUsers CollectionUsers { get; private set; } + public ICollectionTags CollectionTags { get; private set; } + + public IssueTracking(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + Collections = new Collections(_client, _securitySource, _serverUrl, SDKConfiguration); + CollectionTickets = new CollectionTickets(_client, _securitySource, _serverUrl, SDKConfiguration); + CollectionTicketComments = new CollectionTicketComments(_client, _securitySource, _serverUrl, SDKConfiguration); + CollectionUsers = new CollectionUsers(_client, _securitySource, _serverUrl, SDKConfiguration); + CollectionTags = new CollectionTags(_client, _securitySource, _serverUrl, SDKConfiguration); + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Jobs.cs b/src/Apideck/Unify/SDK/Jobs.cs new file mode 100644 index 00000000..cc308a88 --- /dev/null +++ b/src/Apideck/Unify/SDK/Jobs.cs @@ -0,0 +1,431 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IJobs + { + + /// + /// List Jobs + /// + /// + /// List Jobs + /// + /// + Task ListAsync(AtsJobsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Get Job + /// + /// + /// Get Job + /// + /// + Task GetAsync(AtsJobsOneRequest request, RetryConfig? retryConfig = null); + } + + public class Jobs: IJobs + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Jobs(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AtsJobsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ats/jobs", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ats.jobsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AtsJobsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetJobsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AtsJobsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AtsJobsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AtsJobsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ats/jobs/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ats.jobsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsJobsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetJobResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AtsJobsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/JournalEntries.cs b/src/Apideck/Unify/SDK/JournalEntries.cs new file mode 100644 index 00000000..b42f3241 --- /dev/null +++ b/src/Apideck/Unify/SDK/JournalEntries.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IJournalEntries + { + + /// + /// List Journal Entries + /// + /// + /// List Journal Entries + /// + /// + Task ListAsync(AccountingJournalEntriesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Journal Entry + /// + /// + /// Create Journal Entry + /// + /// + Task CreateAsync(AccountingJournalEntriesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Journal Entry + /// + /// + /// Get Journal Entry + /// + /// + Task GetAsync(AccountingJournalEntriesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Journal Entry + /// + /// + /// Update Journal Entry + /// + /// + Task UpdateAsync(AccountingJournalEntriesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Journal Entry + /// + /// + /// Delete Journal Entry + /// + /// + Task DeleteAsync(AccountingJournalEntriesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class JournalEntries: IJournalEntries + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public JournalEntries(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingJournalEntriesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/journal-entries", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.journalEntriesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingJournalEntriesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetJournalEntriesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingJournalEntriesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingJournalEntriesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingJournalEntriesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/journal-entries", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "JournalEntry", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.journalEntriesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingJournalEntriesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateJournalEntryResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingJournalEntriesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingJournalEntriesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingJournalEntriesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/journal-entries/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.journalEntriesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingJournalEntriesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetJournalEntryResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingJournalEntriesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingJournalEntriesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingJournalEntriesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/journal-entries/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "JournalEntry", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.journalEntriesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingJournalEntriesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateJournalEntryResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingJournalEntriesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingJournalEntriesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingJournalEntriesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/journal-entries/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.journalEntriesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingJournalEntriesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteJournalEntryResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingJournalEntriesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Leads.cs b/src/Apideck/Unify/SDK/Leads.cs new file mode 100644 index 00000000..6a68fddd --- /dev/null +++ b/src/Apideck/Unify/SDK/Leads.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ILeads + { + + /// + /// List leads + /// + /// + /// List leads + /// + /// + Task ListAsync(CrmLeadsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create lead + /// + /// + /// Create lead + /// + /// + Task CreateAsync(CrmLeadsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get lead + /// + /// + /// Get lead + /// + /// + Task GetAsync(CrmLeadsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update lead + /// + /// + /// Update lead + /// + /// + Task UpdateAsync(CrmLeadsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete lead + /// + /// + /// Delete lead + /// + /// + Task DeleteAsync(CrmLeadsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Leads: ILeads + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Leads(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(CrmLeadsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/leads", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.leadsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmLeadsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetLeadsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmLeadsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(CrmLeadsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmLeadsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/leads", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Lead", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.leadsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmLeadsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateLeadResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmLeadsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(CrmLeadsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmLeadsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/leads/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.leadsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmLeadsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetLeadResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmLeadsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(CrmLeadsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmLeadsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/leads/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Lead", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.leadsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmLeadsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateLeadResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmLeadsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(CrmLeadsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmLeadsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/leads/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.leadsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmLeadsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteLeadResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmLeadsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/LedgerAccounts.cs b/src/Apideck/Unify/SDK/LedgerAccounts.cs new file mode 100644 index 00000000..52d895ef --- /dev/null +++ b/src/Apideck/Unify/SDK/LedgerAccounts.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ILedgerAccounts + { + + /// + /// List Ledger Accounts + /// + /// + /// List Ledger Accounts + /// + /// + Task ListAsync(AccountingLedgerAccountsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Ledger Account + /// + /// + /// Create Ledger Account + /// + /// + Task CreateAsync(AccountingLedgerAccountsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Ledger Account + /// + /// + /// Get Ledger Account + /// + /// + Task GetAsync(AccountingLedgerAccountsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Ledger Account + /// + /// + /// Update Ledger Account + /// + /// + Task UpdateAsync(AccountingLedgerAccountsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Ledger Account + /// + /// + /// Delete Ledger Account + /// + /// + Task DeleteAsync(AccountingLedgerAccountsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class LedgerAccounts: ILedgerAccounts + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public LedgerAccounts(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingLedgerAccountsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/ledger-accounts", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.ledgerAccountsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingLedgerAccountsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetLedgerAccountsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingLedgerAccountsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingLedgerAccountsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingLedgerAccountsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/ledger-accounts", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "LedgerAccount", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.ledgerAccountsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLedgerAccountsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateLedgerAccountResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLedgerAccountsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingLedgerAccountsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingLedgerAccountsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/ledger-accounts/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.ledgerAccountsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLedgerAccountsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetLedgerAccountResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLedgerAccountsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingLedgerAccountsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingLedgerAccountsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/ledger-accounts/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "LedgerAccount", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.ledgerAccountsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLedgerAccountsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateLedgerAccountResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLedgerAccountsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingLedgerAccountsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingLedgerAccountsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/ledger-accounts/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.ledgerAccountsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLedgerAccountsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteLedgerAccountResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLedgerAccountsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Locations.cs b/src/Apideck/Unify/SDK/Locations.cs new file mode 100644 index 00000000..0c48481a --- /dev/null +++ b/src/Apideck/Unify/SDK/Locations.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ILocations + { + + /// + /// List Locations + /// + /// + /// List Locations + /// + /// + Task ListAsync(AccountingLocationsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Location + /// + /// + /// Create Location + /// + /// + Task CreateAsync(AccountingLocationsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Location + /// + /// + /// Get Location + /// + /// + Task GetAsync(AccountingLocationsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Location + /// + /// + /// Update Location + /// + /// + Task UpdateAsync(AccountingLocationsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Location + /// + /// + /// Delete Location + /// + /// + Task DeleteAsync(AccountingLocationsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Locations: ILocations + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Locations(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingLocationsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/locations", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.locationsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingLocationsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetAccountingLocationsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingLocationsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingLocationsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingLocationsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/locations", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "AccountingLocation", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.locationsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLocationsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateAccountingLocationResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLocationsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingLocationsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingLocationsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/locations/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.locationsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLocationsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetAccountingLocationResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLocationsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingLocationsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingLocationsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/locations/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "AccountingLocation", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.locationsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLocationsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateAccountingLocationResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLocationsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingLocationsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingLocationsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/locations/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.locationsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLocationsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteAccountingLocationResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingLocationsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Logs.cs b/src/Apideck/Unify/SDK/Logs.cs new file mode 100644 index 00000000..c69508ca --- /dev/null +++ b/src/Apideck/Unify/SDK/Logs.cs @@ -0,0 +1,239 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ILogs + { + + /// + /// Get all consumer request logs + /// + /// + /// This endpoint includes all consumer request logs.
+ /// + ///
+ ///
+ Task ListAsync(VaultLogsAllRequest? request = null, RetryConfig? retryConfig = null); + } + + public class Logs: ILogs + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Logs(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(VaultLogsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/logs", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.logsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new VaultLogsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetLogsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new VaultLogsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Messages.cs b/src/Apideck/Unify/SDK/Messages.cs new file mode 100644 index 00000000..f6e03bca --- /dev/null +++ b/src/Apideck/Unify/SDK/Messages.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IMessages + { + + /// + /// List Messages + /// + /// + /// List Messages + /// + /// + Task ListAsync(SmsMessagesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Message + /// + /// + /// Create Message + /// + /// + Task CreateAsync(SmsMessagesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Message + /// + /// + /// Get Message + /// + /// + Task GetAsync(SmsMessagesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Message + /// + /// + /// Update Message + /// + /// + Task UpdateAsync(SmsMessagesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Message + /// + /// + /// Delete Message + /// + /// + Task DeleteAsync(SmsMessagesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Messages: IMessages + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Messages(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(SmsMessagesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/sms/messages", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("sms.messagesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new SmsMessagesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetMessagesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new SmsMessagesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(SmsMessagesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new SmsMessagesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/sms/messages", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Message", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("sms.messagesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new SmsMessagesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateMessageResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new SmsMessagesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(SmsMessagesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new SmsMessagesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/sms/messages/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("sms.messagesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new SmsMessagesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetMessageResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new SmsMessagesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(SmsMessagesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new SmsMessagesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/sms/messages/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Message", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("sms.messagesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new SmsMessagesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateMessageResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new SmsMessagesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(SmsMessagesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new SmsMessagesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/sms/messages/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("sms.messagesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new SmsMessagesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteMessageResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new SmsMessagesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/AccountStatus.cs b/src/Apideck/Unify/SDK/Models/Components/AccountStatus.cs new file mode 100644 index 00000000..3bb3604a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/AccountStatus.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The status of the account. + /// + public enum AccountStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("inactive")] + Inactive, + [JsonProperty("archived")] + Archived, + } + + public static class AccountStatusExtension + { + public static string Value(this AccountStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static AccountStatus ToEnum(this string value) + { + foreach(var field in typeof(AccountStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is AccountStatus) + { + return (AccountStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum AccountStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/AccountType.cs b/src/Apideck/Unify/SDK/Models/Components/AccountType.cs new file mode 100644 index 00000000..937aa7ba --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/AccountType.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of bank account. + /// + public enum AccountType + { + [JsonProperty("bank_account")] + BankAccount, + [JsonProperty("credit_card")] + CreditCard, + [JsonProperty("other")] + Other, + } + + public static class AccountTypeExtension + { + public static string Value(this AccountType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static AccountType ToEnum(this string value) + { + foreach(var field in typeof(AccountType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is AccountType) + { + return (AccountType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum AccountType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/AccountingDepartment.cs b/src/Apideck/Unify/SDK/Models/Components/AccountingDepartment.cs new file mode 100644 index 00000000..ebc1288f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/AccountingDepartment.cs @@ -0,0 +1,90 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class AccountingDepartment + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// A unique identifier for an object. + /// + [JsonProperty("parent_id")] + public string? ParentId { get; set; } = null; + + /// + /// The name of the department. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// Based on the status some functionality is enabled or disabled. + /// + [JsonProperty("status")] + public DepartmentStatus? Status { get; set; } + + [JsonProperty("subsidiaries")] + public List? Subsidiaries { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/AccountingDepartmentInput.cs b/src/Apideck/Unify/SDK/Models/Components/AccountingDepartmentInput.cs new file mode 100644 index 00000000..afde0df1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/AccountingDepartmentInput.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class AccountingDepartmentInput + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("parent_id")] + public string? ParentId { get; set; } = null; + + /// + /// The name of the department. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// Based on the status some functionality is enabled or disabled. + /// + [JsonProperty("status")] + public DepartmentStatus? Status { get; set; } + + [JsonProperty("subsidiaries")] + public List? Subsidiaries { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/AccountingDepartmentsFilter.cs b/src/Apideck/Unify/SDK/Models/Components/AccountingDepartmentsFilter.cs new file mode 100644 index 00000000..f265e324 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/AccountingDepartmentsFilter.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingDepartmentsFilter + { + + /// + /// Id of the subsidiary to search for + /// + [SpeakeasyMetadata("queryParam:name=subsidiary")] + public string? Subsidiary { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/AccountingLocation.cs b/src/Apideck/Unify/SDK/Models/Components/AccountingLocation.cs new file mode 100644 index 00000000..c4159c00 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/AccountingLocation.cs @@ -0,0 +1,99 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class AccountingLocation + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// A unique identifier for an object. + /// + [JsonProperty("parent_id")] + public string? ParentId { get; set; } = null; + + /// + /// The name of the company. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// The display name of the location. + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + /// + /// Based on the status some functionality is enabled or disabled. + /// + [JsonProperty("status")] + public LocationStatus? Status { get; set; } + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("subsidiaries")] + public List? Subsidiaries { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/AccountingLocationInput.cs b/src/Apideck/Unify/SDK/Models/Components/AccountingLocationInput.cs new file mode 100644 index 00000000..82186438 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/AccountingLocationInput.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class AccountingLocationInput + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("parent_id")] + public string? ParentId { get; set; } = null; + + /// + /// The name of the company. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// The display name of the location. + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + /// + /// Based on the status some functionality is enabled or disabled. + /// + [JsonProperty("status")] + public LocationStatus? Status { get; set; } + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("subsidiaries")] + public List? Subsidiaries { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/AccountingLocationsFilter.cs b/src/Apideck/Unify/SDK/Models/Components/AccountingLocationsFilter.cs new file mode 100644 index 00000000..ee2d9f5b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/AccountingLocationsFilter.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingLocationsFilter + { + + /// + /// Id of the subsidiary to search for + /// + [SpeakeasyMetadata("queryParam:name=subsidiary")] + public string? Subsidiary { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ActivitiesFilter.cs b/src/Apideck/Unify/SDK/Models/Components/ActivitiesFilter.cs new file mode 100644 index 00000000..b8b05649 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ActivitiesFilter.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using System; + + public class ActivitiesFilter + { + + /// + /// Company ID to filter on + /// + [SpeakeasyMetadata("queryParam:name=company_id")] + public string? CompanyId { get; set; } + + /// + /// Owner ID to filter on + /// + [SpeakeasyMetadata("queryParam:name=owner_id")] + public string? OwnerId { get; set; } + + /// + /// Primary contact ID to filter on + /// + [SpeakeasyMetadata("queryParam:name=contact_id")] + public string? ContactId { get; set; } + + [SpeakeasyMetadata("queryParam:name=updated_since")] + public DateTime? UpdatedSince { get; set; } + + /// + /// Type to filter on + /// + [SpeakeasyMetadata("queryParam:name=type")] + public string? Type { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ActivitiesSort.cs b/src/Apideck/Unify/SDK/Models/Components/ActivitiesSort.cs new file mode 100644 index 00000000..60df41e6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ActivitiesSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class ActivitiesSort + { + + /// + /// The field on which to sort the Activities + /// + [SpeakeasyMetadata("queryParam:name=by")] + public ActivitiesSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ActivitiesSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/ActivitiesSortBy.cs new file mode 100644 index 00000000..33f7177a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ActivitiesSortBy.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Activities + /// + public enum ActivitiesSortBy + { + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + } + + public static class ActivitiesSortByExtension + { + public static string Value(this ActivitiesSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ActivitiesSortBy ToEnum(this string value) + { + foreach(var field in typeof(ActivitiesSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ActivitiesSortBy) + { + return (ActivitiesSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ActivitiesSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Activity.cs b/src/Apideck/Unify/SDK/Models/Components/Activity.cs new file mode 100644 index 00000000..af583eeb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Activity.cs @@ -0,0 +1,323 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class Activity + { + + /// + /// The unique identifier of the activity + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The third-party API ID of original entity + /// + [JsonProperty("downstream_id")] + public string? DownstreamId { get; set; } = null; + + /// + /// The date and time of the activity + /// + [JsonProperty("activity_datetime")] + public string? ActivityDatetime { get; set; } = null; + + /// + /// The duration of the activity in seconds + /// + [JsonProperty("duration_seconds")] + public long? DurationSeconds { get; set; } = null; + + /// + /// The user related to the activity + /// + [JsonProperty("user_id")] + public string? UserId { get; set; } = null; + + /// + /// The account related to the activity + /// + [JsonProperty("account_id")] + public string? AccountId { get; set; } = null; + + /// + /// The contact related to the activity + /// + [JsonProperty("contact_id")] + public string? ContactId { get; set; } = null; + + /// + /// The company related to the activity + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The opportunity related to the activity + /// + [JsonProperty("opportunity_id")] + public string? OpportunityId { get; set; } = null; + + /// + /// The lead related to the activity + /// + [JsonProperty("lead_id")] + public string? LeadId { get; set; } = null; + + /// + /// The owner of the activity + /// + [JsonProperty("owner_id")] + public string? OwnerId { get; set; } = null; + + /// + /// The campaign related to the activity + /// + [JsonProperty("campaign_id")] + public string? CampaignId { get; set; } = null; + + /// + /// The case related to the activity + /// + [JsonProperty("case_id")] + public string? CaseId { get; set; } = null; + + /// + /// The asset related to the activity + /// + [JsonProperty("asset_id")] + public string? AssetId { get; set; } = null; + + /// + /// The contract related to the activity + /// + [JsonProperty("contract_id")] + public string? ContractId { get; set; } = null; + + /// + /// The product related to the activity + /// + [JsonProperty("product_id")] + public string? ProductId { get; set; } = null; + + /// + /// The solution related to the activity + /// + [JsonProperty("solution_id")] + public string? SolutionId { get; set; } = null; + + /// + /// The custom object related to the activity + /// + [JsonProperty("custom_object_id")] + public string? CustomObjectId { get; set; } = null; + + /// + /// The type of the activity + /// + [JsonProperty("type", NullValueHandling = NullValueHandling.Include)] + public ActivityType? Type { get; set; } + + /// + /// The title of the activity + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// A description of the activity + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// An internal note about the activity + /// + [JsonProperty("note")] + public string? Note { get; set; } = null; + + /// + /// The location of the activity + /// + [JsonProperty("location")] + public string? Location { get; set; } = null; + + [JsonProperty("location_address")] + public Address? LocationAddress { get; set; } + + /// + /// Whether the Activity is an all day event or not + /// + [JsonProperty("all_day_event")] + public bool? AllDayEvent { get; set; } = null; + + /// + /// Whether the Activity is private or not + /// + [JsonProperty("private")] + public bool? Private { get; set; } = null; + + /// + /// Whether the Activity is a group event or not + /// + [JsonProperty("group_event")] + public bool? GroupEvent { get; set; } = null; + + /// + /// The sub type of the group event + /// + [JsonProperty("event_sub_type")] + public string? EventSubType { get; set; } = null; + + /// + /// The type of the group event + /// + [JsonProperty("group_event_type")] + public string? GroupEventType { get; set; } = null; + + /// + /// Whether the activity is a child of another activity or not + /// + [JsonProperty("child")] + public bool? Child { get; set; } = null; + + /// + /// Whether the activity is archived or not + /// + [JsonProperty("archived")] + public bool? Archived { get; set; } = null; + + /// + /// Whether the activity is deleted or not + /// + [JsonProperty("deleted")] + public bool? Deleted { get; set; } = null; + + [JsonProperty("show_as")] + public ShowAs? ShowAs { get; set; } = null; + + /// + /// Whether the Activity is done or not + /// + [JsonProperty("done")] + public bool? Done { get; set; } = null; + + /// + /// The start date and time of the activity + /// + [JsonProperty("start_datetime")] + public string? StartDatetime { get; set; } = null; + + /// + /// The end date and time of the activity + /// + [JsonProperty("end_datetime")] + public string? EndDatetime { get; set; } = null; + + /// + /// The duration of the activity in minutes + /// + [JsonProperty("duration_minutes")] + public long? DurationMinutes { get; set; } = null; + + /// + /// The date of the activity + /// + [JsonProperty("activity_date")] + public string? ActivityDate { get; set; } = null; + + /// + /// The end date of the activity + /// + [JsonProperty("end_date")] + public string? EndDate { get; set; } = null; + + /// + /// Whether the activity is recurrent or not + /// + [JsonProperty("recurrent")] + public bool? Recurrent { get; set; } + + /// + /// The date and time of the reminder + /// + [JsonProperty("reminder_datetime")] + public string? ReminderDatetime { get; set; } = null; + + /// + /// Whether the reminder is set or not + /// + [JsonProperty("reminder_set")] + public bool? ReminderSet { get; set; } = null; + + /// + /// The URL of the video conference + /// + [JsonProperty("video_conference_url")] + public string? VideoConferenceUrl { get; set; } = null; + + /// + /// The ID of the video conference + /// + [JsonProperty("video_conference_id")] + public string? VideoConferenceId { get; set; } = null; + + /// + /// Custom fields of the activity + /// + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + [JsonProperty("attendees")] + public List? Attendees { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the activity + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the activity + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the activity was last updated + /// + [JsonProperty("updated_at")] + public string? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the activity was created + /// + [JsonProperty("created_at")] + public string? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ActivityAttendee.cs b/src/Apideck/Unify/SDK/Models/Components/ActivityAttendee.cs new file mode 100644 index 00000000..d522b91c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ActivityAttendee.cs @@ -0,0 +1,104 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public class ActivityAttendee + { + + /// + /// Unique identifier for the attendee + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// Full name of the attendee + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// First name of the attendee + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// Middle name of the attendee + /// + [JsonProperty("middle_name")] + public string? MiddleName { get; set; } = null; + + /// + /// Last name of the attendee + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// Prefix of the attendee + /// + [JsonProperty("prefix")] + public string? Prefix { get; set; } = null; + + /// + /// Suffix of the attendee + /// + [JsonProperty("suffix")] + public string? Suffix { get; set; } = null; + + /// + /// Email address of the attendee + /// + [JsonProperty("email_address")] + public string? EmailAddress { get; set; } = null; + + /// + /// Whether the attendee is the organizer of the activity + /// + [JsonProperty("is_organizer")] + public bool? IsOrganizer { get; set; } = null; + + /// + /// Status of the attendee + /// + [JsonProperty("status")] + public ActivityAttendeeStatus? Status { get; set; } = null; + + /// + /// The identifier for a related user + /// + [JsonProperty("user_id")] + public string? UserId { get; set; } = null; + + /// + /// The identifier for a related contact + /// + [JsonProperty("contact_id")] + public string? ContactId { get; set; } = null; + + /// + /// The last time the attendee was updated (ISO 8601) + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The time the attendee was created (ISO 8601) + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ActivityAttendeeInput.cs b/src/Apideck/Unify/SDK/Models/Components/ActivityAttendeeInput.cs new file mode 100644 index 00000000..2d1ec59b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ActivityAttendeeInput.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ActivityAttendeeInput + { + + /// + /// Full name of the attendee + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// First name of the attendee + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// Middle name of the attendee + /// + [JsonProperty("middle_name")] + public string? MiddleName { get; set; } = null; + + /// + /// Last name of the attendee + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// Prefix of the attendee + /// + [JsonProperty("prefix")] + public string? Prefix { get; set; } = null; + + /// + /// Suffix of the attendee + /// + [JsonProperty("suffix")] + public string? Suffix { get; set; } = null; + + /// + /// Email address of the attendee + /// + [JsonProperty("email_address")] + public string? EmailAddress { get; set; } = null; + + /// + /// Whether the attendee is the organizer of the activity + /// + [JsonProperty("is_organizer")] + public bool? IsOrganizer { get; set; } = null; + + /// + /// Status of the attendee + /// + [JsonProperty("status")] + public ActivityAttendeeStatus? Status { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ActivityAttendeeStatus.cs b/src/Apideck/Unify/SDK/Models/Components/ActivityAttendeeStatus.cs new file mode 100644 index 00000000..130aca02 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ActivityAttendeeStatus.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Status of the attendee + /// + public enum ActivityAttendeeStatus + { + [JsonProperty("accepted")] + Accepted, + [JsonProperty("tentative")] + Tentative, + [JsonProperty("declined")] + Declined, + } + + public static class ActivityAttendeeStatusExtension + { + public static string Value(this ActivityAttendeeStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ActivityAttendeeStatus ToEnum(this string value) + { + foreach(var field in typeof(ActivityAttendeeStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ActivityAttendeeStatus) + { + return (ActivityAttendeeStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ActivityAttendeeStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ActivityInput.cs b/src/Apideck/Unify/SDK/Models/Components/ActivityInput.cs new file mode 100644 index 00000000..fac6d38b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ActivityInput.cs @@ -0,0 +1,275 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class ActivityInput + { + + /// + /// The date and time of the activity + /// + [JsonProperty("activity_datetime")] + public string? ActivityDatetime { get; set; } = null; + + /// + /// The duration of the activity in seconds + /// + [JsonProperty("duration_seconds")] + public long? DurationSeconds { get; set; } = null; + + /// + /// The user related to the activity + /// + [JsonProperty("user_id")] + public string? UserId { get; set; } = null; + + /// + /// The account related to the activity + /// + [JsonProperty("account_id")] + public string? AccountId { get; set; } = null; + + /// + /// The contact related to the activity + /// + [JsonProperty("contact_id")] + public string? ContactId { get; set; } = null; + + /// + /// The company related to the activity + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The opportunity related to the activity + /// + [JsonProperty("opportunity_id")] + public string? OpportunityId { get; set; } = null; + + /// + /// The lead related to the activity + /// + [JsonProperty("lead_id")] + public string? LeadId { get; set; } = null; + + /// + /// The owner of the activity + /// + [JsonProperty("owner_id")] + public string? OwnerId { get; set; } = null; + + /// + /// The campaign related to the activity + /// + [JsonProperty("campaign_id")] + public string? CampaignId { get; set; } = null; + + /// + /// The case related to the activity + /// + [JsonProperty("case_id")] + public string? CaseId { get; set; } = null; + + /// + /// The asset related to the activity + /// + [JsonProperty("asset_id")] + public string? AssetId { get; set; } = null; + + /// + /// The contract related to the activity + /// + [JsonProperty("contract_id")] + public string? ContractId { get; set; } = null; + + /// + /// The product related to the activity + /// + [JsonProperty("product_id")] + public string? ProductId { get; set; } = null; + + /// + /// The solution related to the activity + /// + [JsonProperty("solution_id")] + public string? SolutionId { get; set; } = null; + + /// + /// The custom object related to the activity + /// + [JsonProperty("custom_object_id")] + public string? CustomObjectId { get; set; } = null; + + /// + /// The type of the activity + /// + [JsonProperty("type", NullValueHandling = NullValueHandling.Include)] + public ActivityType? Type { get; set; } + + /// + /// The title of the activity + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// A description of the activity + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// An internal note about the activity + /// + [JsonProperty("note")] + public string? Note { get; set; } = null; + + /// + /// The location of the activity + /// + [JsonProperty("location")] + public string? Location { get; set; } = null; + + [JsonProperty("location_address")] + public Address? LocationAddress { get; set; } + + /// + /// Whether the Activity is an all day event or not + /// + [JsonProperty("all_day_event")] + public bool? AllDayEvent { get; set; } = null; + + /// + /// Whether the Activity is private or not + /// + [JsonProperty("private")] + public bool? Private { get; set; } = null; + + /// + /// Whether the Activity is a group event or not + /// + [JsonProperty("group_event")] + public bool? GroupEvent { get; set; } = null; + + /// + /// The sub type of the group event + /// + [JsonProperty("event_sub_type")] + public string? EventSubType { get; set; } = null; + + /// + /// The type of the group event + /// + [JsonProperty("group_event_type")] + public string? GroupEventType { get; set; } = null; + + /// + /// Whether the activity is a child of another activity or not + /// + [JsonProperty("child")] + public bool? Child { get; set; } = null; + + /// + /// Whether the activity is archived or not + /// + [JsonProperty("archived")] + public bool? Archived { get; set; } = null; + + /// + /// Whether the activity is deleted or not + /// + [JsonProperty("deleted")] + public bool? Deleted { get; set; } = null; + + [JsonProperty("show_as")] + public ShowAs? ShowAs { get; set; } = null; + + /// + /// Whether the Activity is done or not + /// + [JsonProperty("done")] + public bool? Done { get; set; } = null; + + /// + /// The start date and time of the activity + /// + [JsonProperty("start_datetime")] + public string? StartDatetime { get; set; } = null; + + /// + /// The end date and time of the activity + /// + [JsonProperty("end_datetime")] + public string? EndDatetime { get; set; } = null; + + /// + /// The date of the activity + /// + [JsonProperty("activity_date")] + public string? ActivityDate { get; set; } = null; + + /// + /// The end date of the activity + /// + [JsonProperty("end_date")] + public string? EndDate { get; set; } = null; + + /// + /// Whether the activity is recurrent or not + /// + [JsonProperty("recurrent")] + public bool? Recurrent { get; set; } + + /// + /// The date and time of the reminder + /// + [JsonProperty("reminder_datetime")] + public string? ReminderDatetime { get; set; } = null; + + /// + /// Whether the reminder is set or not + /// + [JsonProperty("reminder_set")] + public bool? ReminderSet { get; set; } = null; + + /// + /// The URL of the video conference + /// + [JsonProperty("video_conference_url")] + public string? VideoConferenceUrl { get; set; } = null; + + /// + /// The ID of the video conference + /// + [JsonProperty("video_conference_id")] + public string? VideoConferenceId { get; set; } = null; + + /// + /// Custom fields of the activity + /// + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + [JsonProperty("attendees")] + public List? Attendees { get; set; } + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ActivityType.cs b/src/Apideck/Unify/SDK/Models/Components/ActivityType.cs new file mode 100644 index 00000000..4d957070 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ActivityType.cs @@ -0,0 +1,74 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of the activity + /// + public enum ActivityType + { + [JsonProperty("call")] + Call, + [JsonProperty("meeting")] + Meeting, + [JsonProperty("email")] + Email, + [JsonProperty("note")] + Note, + [JsonProperty("task")] + Task, + [JsonProperty("deadline")] + Deadline, + [JsonProperty("send-letter")] + SendLetter, + [JsonProperty("send-quote")] + SendQuote, + [JsonProperty("other")] + Other, + } + + public static class ActivityTypeExtension + { + public static string Value(this ActivityType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ActivityType ToEnum(this string value) + { + foreach(var field in typeof(ActivityType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ActivityType) + { + return (ActivityType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ActivityType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Address.cs b/src/Apideck/Unify/SDK/Models/Components/Address.cs new file mode 100644 index 00000000..21206b5e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Address.cs @@ -0,0 +1,163 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Address + { + + /// + /// Unique identifier for the address. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The type of address. + /// + [JsonProperty("type")] + public Models.Components.Type? Type { get; set; } = null; + + /// + /// The address string. Some APIs don't provide structured address data. + /// + [JsonProperty("string")] + public string? String { get; set; } = null; + + /// + /// The name of the address. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// Line 1 of the address e.g. number, street, suite, apt #, etc. + /// + [JsonProperty("line1")] + public string? Line1 { get; set; } = null; + + /// + /// Line 2 of the address + /// + [JsonProperty("line2")] + public string? Line2 { get; set; } = null; + + /// + /// Line 3 of the address + /// + [JsonProperty("line3")] + public string? Line3 { get; set; } = null; + + /// + /// Line 4 of the address + /// + [JsonProperty("line4")] + public string? Line4 { get; set; } = null; + + /// + /// Street number + /// + [JsonProperty("street_number")] + public string? StreetNumber { get; set; } = null; + + /// + /// Name of city. + /// + [JsonProperty("city")] + public string? City { get; set; } = null; + + /// + /// Name of state + /// + [JsonProperty("state")] + public string? State { get; set; } = null; + + /// + /// Zip code or equivalent. + /// + [JsonProperty("postal_code")] + public string? PostalCode { get; set; } = null; + + /// + /// country code according to ISO 3166-1 alpha-2. + /// + [JsonProperty("country")] + public string? Country { get; set; } = null; + + /// + /// Latitude of the address + /// + [JsonProperty("latitude")] + public string? Latitude { get; set; } = null; + + /// + /// Longitude of the address + /// + [JsonProperty("longitude")] + public string? Longitude { get; set; } = null; + + /// + /// Address field that holds a sublocality, such as a county + /// + [JsonProperty("county")] + public string? County { get; set; } = null; + + /// + /// Name of the contact person at the address + /// + [JsonProperty("contact_name")] + public string? ContactName { get; set; } = null; + + /// + /// Salutation of the contact person at the address + /// + [JsonProperty("salutation")] + public string? Salutation { get; set; } = null; + + /// + /// Phone number of the address + /// + [JsonProperty("phone_number")] + public string? PhoneNumber { get; set; } = null; + + /// + /// Fax number of the address + /// + [JsonProperty("fax")] + public string? Fax { get; set; } = null; + + /// + /// Email address of the address + /// + [JsonProperty("email")] + public string? Email { get; set; } = null; + + /// + /// Website of the address + /// + [JsonProperty("website")] + public string? Website { get; set; } = null; + + /// + /// Additional notes + /// + [JsonProperty("notes")] + public string? Notes { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Addresses.cs b/src/Apideck/Unify/SDK/Models/Components/Addresses.cs new file mode 100644 index 00000000..58e678b3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Addresses.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Addresses + { + + [JsonProperty("type")] + public EcommerceCustomerType? Type { get; set; } + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// First line of the street address of the customer + /// + [JsonProperty("line1")] + public string? Line1 { get; set; } = null; + + /// + /// Second line of the street address of the customer + /// + [JsonProperty("line2")] + public string? Line2 { get; set; } = null; + + /// + /// City of the customer + /// + [JsonProperty("city")] + public string? City { get; set; } = null; + + /// + /// State of the customer + /// + [JsonProperty("state")] + public string? State { get; set; } = null; + + /// + /// Postal code of the customer + /// + [JsonProperty("postal_code")] + public string? PostalCode { get; set; } = null; + + /// + /// Country of the customer + /// + [JsonProperty("country")] + public string? Country { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Allocation.cs b/src/Apideck/Unify/SDK/Models/Components/Allocation.cs new file mode 100644 index 00000000..9886dc87 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Allocation.cs @@ -0,0 +1,46 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Allocation + { + + /// + /// Unique identifier of entity this payment should be attributed to. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Type of entity this payment should be attributed to. + /// + [JsonProperty("type")] + public AllocationType? Type { get; set; } + + [JsonProperty("code")] + public string? Code { get; set; } + + /// + /// Amount of payment that should be attributed to this allocation. If null, the total_amount will be used. + /// + [JsonProperty("amount")] + public double? Amount { get; set; } = null; + + /// + /// Unique identifier of the allocation + /// + [JsonProperty("allocation_id")] + public string? AllocationId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/AllocationInput.cs b/src/Apideck/Unify/SDK/Models/Components/AllocationInput.cs new file mode 100644 index 00000000..1dd05d3a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/AllocationInput.cs @@ -0,0 +1,43 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AllocationInput + { + + /// + /// Unique identifier of entity this payment should be attributed to. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Type of entity this payment should be attributed to. + /// + [JsonProperty("type")] + public AllocationType? Type { get; set; } + + /// + /// Amount of payment that should be attributed to this allocation. If null, the total_amount will be used. + /// + [JsonProperty("amount")] + public double? Amount { get; set; } = null; + + /// + /// Unique identifier of the allocation + /// + [JsonProperty("allocation_id")] + public string? AllocationId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/AllocationType.cs b/src/Apideck/Unify/SDK/Models/Components/AllocationType.cs new file mode 100644 index 00000000..a2020ecc --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/AllocationType.cs @@ -0,0 +1,74 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Type of entity this payment should be attributed to. + /// + public enum AllocationType + { + [JsonProperty("invoice")] + Invoice, + [JsonProperty("order")] + Order, + [JsonProperty("expense")] + Expense, + [JsonProperty("credit_memo")] + CreditMemo, + [JsonProperty("over_payment")] + OverPayment, + [JsonProperty("pre_payment")] + PrePayment, + [JsonProperty("journal_entry")] + JournalEntry, + [JsonProperty("other")] + Other, + [JsonProperty("bill")] + Bill, + } + + public static class AllocationTypeExtension + { + public static string Value(this AllocationType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static AllocationType ToEnum(this string value) + { + foreach(var field in typeof(AllocationType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is AllocationType) + { + return (AllocationType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum AllocationType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Allocations.cs b/src/Apideck/Unify/SDK/Models/Components/Allocations.cs new file mode 100644 index 00000000..7b7cdb95 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Allocations.cs @@ -0,0 +1,46 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Allocations + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// Type of entity this payment should be attributed to. + /// + [JsonProperty("type")] + public BillPaymentAllocationType? Type { get; set; } + + [JsonProperty("code")] + public string? Code { get; set; } + + /// + /// Amount of payment that should be attributed to this allocation. If null, the total_amount will be used. + /// + [JsonProperty("amount")] + public double? Amount { get; set; } = null; + + /// + /// Unique identifier of the allocation + /// + [JsonProperty("allocation_id")] + public string? AllocationId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/AllowActions.cs b/src/Apideck/Unify/SDK/Models/Components/AllowActions.cs new file mode 100644 index 00000000..430ffffd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/AllowActions.cs @@ -0,0 +1,61 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum AllowActions + { + [JsonProperty("delete")] + Delete, + [JsonProperty("disconnect")] + Disconnect, + [JsonProperty("reauthorize")] + Reauthorize, + [JsonProperty("disable")] + Disable, + } + + public static class AllowActionsExtension + { + public static string Value(this AllowActions value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static AllowActions ToEnum(this string value) + { + foreach(var field in typeof(AllowActions).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is AllowActions) + { + return (AllowActions)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum AllowActions"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Api.cs b/src/Apideck/Unify/SDK/Models/Components/Api.cs new file mode 100644 index 00000000..b7bdf09f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Api.cs @@ -0,0 +1,86 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class Api + { + + /// + /// ID of the API. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Indicates whether the API is a Unified API. If unified_api is false, the API is a Platform API. + /// + [JsonProperty("type")] + public ApiType? Type { get; set; } + + /// + /// Name of the API. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// Description of the API. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// Status of the API. APIs with status live or beta are callable. + /// + [JsonProperty("status")] + public ApiStatus? Status { get; set; } + + /// + /// Link to the latest OpenAPI specification of the API. + /// + [JsonProperty("spec_url")] + public string? SpecUrl { get; set; } + + /// + /// Link to the API reference of the API. + /// + [JsonProperty("api_reference_url")] + public string? ApiReferenceUrl { get; set; } + + /// + /// ID of the Postman collection of the API. + /// + [JsonProperty("postman_collection_id")] + public string? PostmanCollectionId { get; set; } = null; + + /// + /// List of categories the API belongs to. + /// + [JsonProperty("categories")] + public List? Categories { get; set; } + + /// + /// List of resources supported in this API. + /// + [JsonProperty("resources")] + public List? Resources { get; set; } + + /// + /// List of event types this API supports. + /// + [JsonProperty("events")] + public List? Events { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ApiResource.cs b/src/Apideck/Unify/SDK/Models/Components/ApiResource.cs new file mode 100644 index 00000000..101affc9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ApiResource.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class ApiResource + { + + /// + /// ID of the resource, typically a lowercased version of name. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Name of the resource (plural) + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// Status of the resource. Resources with status live or beta are callable. + /// + [JsonProperty("status")] + public ResourceStatus? Status { get; set; } + + /// + /// List of linked resources. + /// + [JsonProperty("linked_resources")] + public List? LinkedResources { get; set; } + + /// + /// JSON Schema of the resource in our Unified API + /// + [JsonProperty("schema")] + public Schema? Schema { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ApiResourceCoverage.cs b/src/Apideck/Unify/SDK/Models/Components/ApiResourceCoverage.cs new file mode 100644 index 00000000..e468c434 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ApiResourceCoverage.cs @@ -0,0 +1,41 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class ApiResourceCoverage + { + + /// + /// ID of the resource, typically a lowercased version of name. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Name of the resource (plural) + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// Status of the resource. Resources with status live or beta are callable. + /// + [JsonProperty("status")] + public ResourceStatus? Status { get; set; } + + [JsonProperty("coverage")] + public List? Coverage { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ApiStatus.cs b/src/Apideck/Unify/SDK/Models/Components/ApiStatus.cs new file mode 100644 index 00000000..ee19f43d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ApiStatus.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Status of the API. APIs with status live or beta are callable. + /// + public enum ApiStatus + { + [JsonProperty("live")] + Live, + [JsonProperty("beta")] + Beta, + [JsonProperty("development")] + Development, + [JsonProperty("considering")] + Considering, + } + + public static class ApiStatusExtension + { + public static string Value(this ApiStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ApiStatus ToEnum(this string value) + { + foreach(var field in typeof(ApiStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ApiStatus) + { + return (ApiStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ApiStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ApiType.cs b/src/Apideck/Unify/SDK/Models/Components/ApiType.cs new file mode 100644 index 00000000..970de2c0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ApiType.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Indicates whether the API is a Unified API. If unified_api is false, the API is a Platform API. + /// + public enum ApiType + { + [JsonProperty("platform")] + Platform, + [JsonProperty("unified")] + Unified, + } + + public static class ApiTypeExtension + { + public static string Value(this ApiType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ApiType ToEnum(this string value) + { + foreach(var field in typeof(ApiType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ApiType) + { + return (ApiType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ApiType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ApisFilter.cs b/src/Apideck/Unify/SDK/Models/Components/ApisFilter.cs new file mode 100644 index 00000000..c3f9416c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ApisFilter.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class ApisFilter + { + + /// + /// Status of the API. APIs with status live or beta are callable. + /// + [SpeakeasyMetadata("queryParam:name=status")] + public ApiStatus? Status { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Applicant.cs b/src/Apideck/Unify/SDK/Models/Components/Applicant.cs new file mode 100644 index 00000000..125a8395 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Applicant.cs @@ -0,0 +1,214 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class Applicant + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The name of an applicant. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// The first name of the person. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// The last name of the person. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// Middle name of the person. + /// + [JsonProperty("middle_name")] + public string? MiddleName { get; set; } = null; + + /// + /// The initials of the person, usually derived from their first, middle, and last names. + /// + [JsonProperty("initials")] + public string? Initials { get; set; } = null; + + /// + /// The date of birth of the person. + /// + [JsonProperty("birthday")] + public LocalDate? Birthday { get; set; } = null; + + [JsonProperty("cover_letter")] + public string? CoverLetter { get; set; } + + [JsonProperty("job_url")] + public string? JobUrl { get; set; } = null; + + /// + /// The URL of the photo of a person. + /// + [JsonProperty("photo_url")] + public string? PhotoUrl { get; set; } = null; + + /// + /// Typically a list of previous companies where the contact has worked or schools that the contact has attended + /// + [JsonProperty("headline")] + public string? Headline { get; set; } + + /// + /// The job title of the person. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("websites")] + public List? Websites { get; set; } + + [JsonProperty("social_links")] + public List? SocialLinks { get; set; } + + [JsonProperty("stage_id")] + public string? StageId { get; set; } + + [JsonProperty("recruiter_id")] + public string? RecruiterId { get; set; } + + [JsonProperty("coordinator_id")] + public string? CoordinatorId { get; set; } + + [JsonProperty("application_ids")] + public List? ApplicationIds { get; set; } = null; + + [JsonProperty("applications")] + public List? Applications { get; set; } = null; + + [JsonProperty("followers")] + public List? Followers { get; set; } = null; + + [JsonProperty("sources")] + public List? Sources { get; set; } = null; + + [JsonProperty("source_id")] + public string? SourceId { get; set; } + + [JsonProperty("confidential")] + public bool? Confidential { get; set; } + + [JsonProperty("anonymized")] + public bool? Anonymized { get; set; } + + [JsonProperty("tags")] + public List? Tags { get; set; } = null; + + [JsonProperty("archived")] + public bool? Archived { get; set; } = null; + + [JsonProperty("last_interaction_at")] + public DateTime? LastInteractionAt { get; set; } = null; + + [JsonProperty("owner_id")] + public string? OwnerId { get; set; } = null; + + [JsonProperty("sourced_by")] + public string? SourcedBy { get; set; } = null; + + [JsonProperty("cv_url")] + public string? CvUrl { get; set; } + + [JsonProperty("record_url")] + public string? RecordUrl { get; set; } = null; + + [JsonProperty("rejected_at")] + public DateTime? RejectedAt { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// Flag to indicate if the object is deleted. + /// + [JsonProperty("deleted")] + public bool? Deleted { get; set; } = null; + + /// + /// The user who deleted the object. + /// + [JsonProperty("deleted_by")] + public string? DeletedBy { get; set; } = null; + + /// + /// The time at which the object was deleted. + /// + [JsonProperty("deleted_at")] + public DateTime? DeletedAt { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ApplicantInput.cs b/src/Apideck/Unify/SDK/Models/Components/ApplicantInput.cs new file mode 100644 index 00000000..5f5d699c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ApplicantInput.cs @@ -0,0 +1,147 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + + public class ApplicantInput + { + + /// + /// The name of an applicant. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// The first name of the person. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// The last name of the person. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// Middle name of the person. + /// + [JsonProperty("middle_name")] + public string? MiddleName { get; set; } = null; + + /// + /// The initials of the person, usually derived from their first, middle, and last names. + /// + [JsonProperty("initials")] + public string? Initials { get; set; } = null; + + /// + /// The date of birth of the person. + /// + [JsonProperty("birthday")] + public LocalDate? Birthday { get; set; } = null; + + [JsonProperty("cover_letter")] + public string? CoverLetter { get; set; } + + /// + /// The URL of the photo of a person. + /// + [JsonProperty("photo_url")] + public string? PhotoUrl { get; set; } = null; + + /// + /// Typically a list of previous companies where the contact has worked or schools that the contact has attended + /// + [JsonProperty("headline")] + public string? Headline { get; set; } + + /// + /// The job title of the person. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("websites")] + public List? Websites { get; set; } + + [JsonProperty("social_links")] + public List? SocialLinks { get; set; } + + [JsonProperty("stage_id")] + public string? StageId { get; set; } + + [JsonProperty("recruiter_id")] + public string? RecruiterId { get; set; } + + [JsonProperty("coordinator_id")] + public string? CoordinatorId { get; set; } + + [JsonProperty("application_ids")] + public List? ApplicationIds { get; set; } = null; + + [JsonProperty("applications")] + public List? Applications { get; set; } = null; + + [JsonProperty("followers")] + public List? Followers { get; set; } = null; + + [JsonProperty("sources")] + public List? Sources { get; set; } = null; + + [JsonProperty("confidential")] + public bool? Confidential { get; set; } + + [JsonProperty("anonymized")] + public bool? Anonymized { get; set; } + + [JsonProperty("tags")] + public List? Tags { get; set; } = null; + + [JsonProperty("archived")] + public bool? Archived { get; set; } = null; + + [JsonProperty("owner_id")] + public string? OwnerId { get; set; } = null; + + [JsonProperty("record_url")] + public string? RecordUrl { get; set; } = null; + + /// + /// Flag to indicate if the object is deleted. + /// + [JsonProperty("deleted")] + public bool? Deleted { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ApplicantType.cs b/src/Apideck/Unify/SDK/Models/Components/ApplicantType.cs new file mode 100644 index 00000000..b8754722 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ApplicantType.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of website + /// + public enum ApplicantType + { + [JsonProperty("primary")] + Primary, + [JsonProperty("secondary")] + Secondary, + [JsonProperty("work")] + Work, + [JsonProperty("personal")] + Personal, + [JsonProperty("other")] + Other, + } + + public static class ApplicantTypeExtension + { + public static string Value(this ApplicantType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ApplicantType ToEnum(this string value) + { + foreach(var field in typeof(ApplicantType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ApplicantType) + { + return (ApplicantType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ApplicantType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ApplicantsFilter.cs b/src/Apideck/Unify/SDK/Models/Components/ApplicantsFilter.cs new file mode 100644 index 00000000..1f26710f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ApplicantsFilter.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class ApplicantsFilter + { + + /// + /// Id of the job to filter on + /// + [SpeakeasyMetadata("queryParam:name=job_id")] + public string? JobId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Application.cs b/src/Apideck/Unify/SDK/Models/Components/Application.cs new file mode 100644 index 00000000..4fd84384 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Application.cs @@ -0,0 +1,75 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class Application + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + [JsonProperty("applicant_id", NullValueHandling = NullValueHandling.Include)] + public string? ApplicantId { get; set; } + + [JsonProperty("job_id", NullValueHandling = NullValueHandling.Include)] + public string? JobId { get; set; } + + [JsonProperty("status")] + public ApplicationStatus? Status { get; set; } = null; + + [JsonProperty("stage")] + public Stage? Stage { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ApplicationInput.cs b/src/Apideck/Unify/SDK/Models/Components/ApplicationInput.cs new file mode 100644 index 00000000..6588202b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ApplicationInput.cs @@ -0,0 +1,38 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class ApplicationInput + { + + [JsonProperty("applicant_id", NullValueHandling = NullValueHandling.Include)] + public string? ApplicantId { get; set; } + + [JsonProperty("job_id", NullValueHandling = NullValueHandling.Include)] + public string? JobId { get; set; } + + [JsonProperty("status")] + public ApplicationStatus? Status { get; set; } = null; + + [JsonProperty("stage")] + public Stage? Stage { get; set; } + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ApplicationStatus.cs b/src/Apideck/Unify/SDK/Models/Components/ApplicationStatus.cs new file mode 100644 index 00000000..feb5d78e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ApplicationStatus.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum ApplicationStatus + { + [JsonProperty("open")] + Open, + [JsonProperty("rejected")] + Rejected, + [JsonProperty("hired")] + Hired, + [JsonProperty("converted")] + Converted, + [JsonProperty("other")] + Other, + } + + public static class ApplicationStatusExtension + { + public static string Value(this ApplicationStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ApplicationStatus ToEnum(this string value) + { + foreach(var field in typeof(ApplicationStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ApplicationStatus) + { + return (ApplicationStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ApplicationStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Assignee.cs b/src/Apideck/Unify/SDK/Models/Components/Assignee.cs new file mode 100644 index 00000000..29190353 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Assignee.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Assignee + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + [JsonProperty("username")] + public string? Username { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/AssigneeInput.cs b/src/Apideck/Unify/SDK/Models/Components/AssigneeInput.cs new file mode 100644 index 00000000..634a3d1c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/AssigneeInput.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AssigneeInput + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Attachment.cs b/src/Apideck/Unify/SDK/Models/Components/Attachment.cs new file mode 100644 index 00000000..5207c4e2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Attachment.cs @@ -0,0 +1,96 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class Attachment + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The display id of the file + /// + [JsonProperty("display_id")] + public string? DisplayId { get; set; } = null; + + /// + /// The name of the file + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// The MIME type of the file. + /// + [JsonProperty("mime_type")] + public string? MimeType { get; set; } = null; + + /// + /// The size of the file in bytes + /// + [JsonProperty("size")] + public long? Size { get; set; } = null; + + [JsonProperty("reference")] + public AttachmentReference? Reference { get; set; } + + /// + /// Optional description of the file + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The folder id where this attachment belong to + /// + [JsonProperty("parent_folder_id")] + public string? ParentFolderId { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/AttachmentReference.cs b/src/Apideck/Unify/SDK/Models/Components/AttachmentReference.cs new file mode 100644 index 00000000..e4f0da2e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/AttachmentReference.cs @@ -0,0 +1,28 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AttachmentReference + { + + [JsonProperty("type")] + public AttachmentReferenceType? Type { get; set; } + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/AttachmentReferenceType.cs b/src/Apideck/Unify/SDK/Models/Components/AttachmentReferenceType.cs new file mode 100644 index 00000000..4a7ee8d5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/AttachmentReferenceType.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum AttachmentReferenceType + { + [JsonProperty("invoice")] + Invoice, + [JsonProperty("bill")] + Bill, + [JsonProperty("expense")] + Expense, + } + + public static class AttachmentReferenceTypeExtension + { + public static string Value(this AttachmentReferenceType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static AttachmentReferenceType ToEnum(this string value) + { + foreach(var field in typeof(AttachmentReferenceType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is AttachmentReferenceType) + { + return (AttachmentReferenceType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum AttachmentReferenceType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Audience.cs b/src/Apideck/Unify/SDK/Models/Components/Audience.cs new file mode 100644 index 00000000..e09788a0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Audience.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Audience for the doc. + /// + public enum Audience + { + [JsonProperty("application_owner")] + ApplicationOwner, + [JsonProperty("consumer")] + Consumer, + } + + public static class AudienceExtension + { + public static string Value(this Audience value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static Audience ToEnum(this string value) + { + foreach(var field in typeof(Audience).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is Audience) + { + return (Audience)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum Audience"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/AuthType.cs b/src/Apideck/Unify/SDK/Models/Components/AuthType.cs new file mode 100644 index 00000000..171a1f9d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/AuthType.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Type of authorization used by the connector + /// + public enum AuthType + { + [JsonProperty("oauth2")] + Oauth2, + [JsonProperty("apiKey")] + ApiKey, + [JsonProperty("basic")] + Basic, + [JsonProperty("custom")] + Custom, + [JsonProperty("none")] + None, + } + + public static class AuthTypeExtension + { + public static string Value(this AuthType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static AuthType ToEnum(this string value) + { + foreach(var field in typeof(AuthType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is AuthType) + { + return (AuthType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum AuthType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BalanceSheet.cs b/src/Apideck/Unify/SDK/Models/Components/BalanceSheet.cs new file mode 100644 index 00000000..26d77709 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BalanceSheet.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class BalanceSheet + { + + [JsonProperty("reports")] + public List Reports { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BalanceSheetAssetsAccount.cs b/src/Apideck/Unify/SDK/Models/Components/BalanceSheetAssetsAccount.cs new file mode 100644 index 00000000..e1e1bf28 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BalanceSheetAssetsAccount.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// A balance sheet assets account represents the financial position of a company at a specific point in time. + /// + public class BalanceSheetAssetsAccount + { + + /// + /// The unique identifier for the account. + /// + [JsonProperty("account_id")] + public string? AccountId { get; set; } + + /// + /// The account code of the account + /// + [JsonProperty("code")] + public string? Code { get; set; } + + /// + /// The name of the account. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// The amount or value of the item + /// + [JsonProperty("value")] + public double? Value { get; set; } + + /// + /// A list of balance sheet accounts + /// + [JsonProperty("items")] + public object? Items { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BalanceSheetEquityAccount.cs b/src/Apideck/Unify/SDK/Models/Components/BalanceSheetEquityAccount.cs new file mode 100644 index 00000000..036e110f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BalanceSheetEquityAccount.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// A balance sheet equity account represents the financial position of a company at a specific point in time. + /// + public class BalanceSheetEquityAccount + { + + /// + /// The unique identifier for the account. + /// + [JsonProperty("account_id")] + public string? AccountId { get; set; } + + /// + /// The account code of the account + /// + [JsonProperty("code")] + public string? Code { get; set; } + + /// + /// The name of the account. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// The amount or value of the item + /// + [JsonProperty("value")] + public double? Value { get; set; } + + /// + /// A list of balance sheet accounts + /// + [JsonProperty("items")] + public object? Items { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BalanceSheetFilter.cs b/src/Apideck/Unify/SDK/Models/Components/BalanceSheetFilter.cs new file mode 100644 index 00000000..c23812f8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BalanceSheetFilter.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class BalanceSheetFilter + { + + /// + /// The start date of the period to include in the resource. + /// + [SpeakeasyMetadata("queryParam:name=start_date")] + public string? StartDate { get; set; } + + /// + /// The end date of the period to include in the resource. + /// + [SpeakeasyMetadata("queryParam:name=end_date")] + public string? EndDate { get; set; } + + /// + /// The number of periods to include in the resource. + /// + [SpeakeasyMetadata("queryParam:name=period_count")] + public long? PeriodCount { get; set; } + + /// + /// The type of period to include in the resource: month, quarter, year. + /// + [SpeakeasyMetadata("queryParam:name=period_type")] + public PeriodType? PeriodType { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BalanceSheetLiabilitiesAccount.cs b/src/Apideck/Unify/SDK/Models/Components/BalanceSheetLiabilitiesAccount.cs new file mode 100644 index 00000000..255b7192 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BalanceSheetLiabilitiesAccount.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// A balance sheet liabilities account represents the financial position of a company at a specific point in time. + /// + public class BalanceSheetLiabilitiesAccount + { + + /// + /// The unique identifier for the account. + /// + [JsonProperty("account_id")] + public string? AccountId { get; set; } + + /// + /// The account code of the account + /// + [JsonProperty("code")] + public string? Code { get; set; } + + /// + /// The name of the account. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// The amount or value of the item + /// + [JsonProperty("value")] + public double? Value { get; set; } + + /// + /// A list of balance sheet accounts + /// + [JsonProperty("items")] + public object? Items { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BalanceSheetUncategorizedItemsAccount.cs b/src/Apideck/Unify/SDK/Models/Components/BalanceSheetUncategorizedItemsAccount.cs new file mode 100644 index 00000000..80dea2a7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BalanceSheetUncategorizedItemsAccount.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// A balance sheet uncategorized items account represents the financial position of a company at a specific point in time. + /// + public class BalanceSheetUncategorizedItemsAccount + { + + /// + /// The unique identifier for the account. + /// + [JsonProperty("account_id")] + public string? AccountId { get; set; } + + /// + /// The account code of the account + /// + [JsonProperty("code")] + public string? Code { get; set; } + + /// + /// The name of the account. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// The amount or value of the item + /// + [JsonProperty("value")] + public double? Value { get; set; } + + /// + /// A list of balance sheet accounts + /// + [JsonProperty("items")] + public object? Items { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BankAccount.cs b/src/Apideck/Unify/SDK/Models/Components/BankAccount.cs new file mode 100644 index 00000000..6ca1f588 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BankAccount.cs @@ -0,0 +1,85 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class BankAccount + { + + /// + /// The name of the bank + /// + [JsonProperty("bank_name")] + public string? BankName { get; set; } = null; + + /// + /// A bank account number is a number that is tied to your bank account. If you have several bank accounts, such as personal, joint, business (and so on), each account will have a different account number. + /// + [JsonProperty("account_number")] + public string? AccountNumber { get; set; } = null; + + /// + /// The name which you used in opening your bank account. + /// + [JsonProperty("account_name")] + public string? AccountName { get; set; } = null; + + /// + /// The type of bank account. + /// + [JsonProperty("account_type")] + public AccountType? AccountType { get; set; } = null; + + /// + /// The International Bank Account Number (IBAN). + /// + [JsonProperty("iban")] + public string? Iban { get; set; } = null; + + /// + /// The Bank Identifier Code (BIC). + /// + [JsonProperty("bic")] + public string? Bic { get; set; } = null; + + /// + /// A routing number is a nine-digit code used to identify a financial institution in the United States. + /// + [JsonProperty("routing_number")] + public string? RoutingNumber { get; set; } = null; + + /// + /// A BSB is a 6 digit numeric code used for identifying the branch of an Australian or New Zealand bank or financial institution. + /// + [JsonProperty("bsb_number")] + public string? BsbNumber { get; set; } = null; + + /// + /// A branch identifier is a unique identifier for a branch of a bank or financial institution. + /// + [JsonProperty("branch_identifier")] + public string? BranchIdentifier { get; set; } = null; + + /// + /// A bank code is a code assigned by a central bank, a bank supervisory body or a Bankers Association in a country to all its licensed member banks or financial institutions. + /// + [JsonProperty("bank_code")] + public string? BankCode { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Benefit.cs b/src/Apideck/Unify/SDK/Models/Components/Benefit.cs new file mode 100644 index 00000000..ee8eb7ed --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Benefit.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Benefit + { + + /// + /// The name of the benefit. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// The amount deducted for benefit. + /// + [JsonProperty("employee_deduction")] + public double? EmployeeDeduction { get; set; } = null; + + /// + /// The amount of employer contribution. + /// + [JsonProperty("employer_contribution")] + public double? EmployerContribution { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Bill.cs b/src/Apideck/Unify/SDK/Models/Components/Bill.cs new file mode 100644 index 00000000..c6a88f05 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Bill.cs @@ -0,0 +1,244 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class Bill + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The third-party API ID of original entity + /// + [JsonProperty("downstream_id")] + public string? DownstreamId { get; set; } = null; + + /// + /// Reference to supplier bill number + /// + [JsonProperty("bill_number")] + public string? BillNumber { get; set; } = null; + + /// + /// The supplier this entity is linked to. + /// + [JsonProperty("supplier")] + public LinkedSupplier? Supplier { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// Amounts are including tax + /// + [JsonProperty("tax_inclusive")] + public bool? TaxInclusive { get; set; } = null; + + /// + /// Date bill was issued - YYYY-MM-DD. + /// + [JsonProperty("bill_date")] + public LocalDate? BillDate { get; set; } + + /// + /// The due date is the date on which a payment is scheduled to be received - YYYY-MM-DD. + /// + [JsonProperty("due_date")] + public LocalDate? DueDate { get; set; } + + /// + /// The paid date is the date on which a payment was sent to the supplier - YYYY-MM-DD. + /// + [JsonProperty("paid_date")] + public LocalDate? PaidDate { get; set; } = null; + + /// + /// A PO Number uniquely identifies a purchase order and is generally defined by the buyer. The buyer will match the PO number in the invoice to the Purchase Order. + /// + [JsonProperty("po_number")] + public string? PoNumber { get; set; } = null; + + /// + /// Optional bill reference. + /// + [JsonProperty("reference")] + public string? Reference { get; set; } = null; + + [JsonProperty("line_items")] + public List? LineItems { get; set; } + + /// + /// Terms of payment. + /// + [JsonProperty("terms")] + public string? Terms { get; set; } = null; + + /// + /// Balance of bill due. + /// + [JsonProperty("balance")] + public double? Balance { get; set; } = null; + + /// + /// Amount of deposit made to this bill. + /// + [JsonProperty("deposit")] + public double? Deposit { get; set; } = null; + + /// + /// Sub-total amount, normally before tax. + /// + [JsonProperty("sub_total")] + public double? SubTotal { get; set; } = null; + + /// + /// Total tax amount applied to this bill. + /// + [JsonProperty("total_tax")] + public double? TotalTax { get; set; } = null; + + /// + /// Total amount of bill, including tax. + /// + [JsonProperty("total")] + public double? Total { get; set; } = null; + + /// + /// Applicable tax id/code override if tax is not supplied on a line item basis. + /// + [JsonProperty("tax_code")] + public string? TaxCode { get; set; } = null; + + [JsonProperty("notes")] + public string? Notes { get; set; } = null; + + /// + /// Invoice status + /// + [JsonProperty("status")] + public BillStatus? Status { get; set; } = null; + + [JsonProperty("ledger_account")] + public LinkedLedgerAccount? LedgerAccount { get; set; } = null; + + /// + /// Payment method used for the transaction, such as cash, credit card, bank transfer, or check + /// + [JsonProperty("payment_method")] + public string? PaymentMethod { get; set; } = null; + + /// + /// The channel through which the transaction is processed. + /// + [JsonProperty("channel")] + public string? Channel { get; set; } = null; + + /// + /// language code according to ISO 639-1. For the United States - EN + /// + [JsonProperty("language")] + public string? Language { get; set; } = null; + + /// + /// Indicates if accounting by row is used (true) or not (false). Accounting by row means that a separate ledger transaction is created for each row. + /// + [JsonProperty("accounting_by_row")] + public bool? AccountingByRow { get; set; } = null; + + [JsonProperty("bank_account")] + public BankAccount? BankAccount { get; set; } + + /// + /// Discount percentage applied to this transaction. + /// + [JsonProperty("discount_percentage")] + public double? DiscountPercentage { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + + /// + /// Accounting period + /// + [JsonProperty("accounting_period")] + public string? AccountingPeriod { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BillInput.cs b/src/Apideck/Unify/SDK/Models/Components/BillInput.cs new file mode 100644 index 00000000..36f0b6eb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BillInput.cs @@ -0,0 +1,201 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + + public class BillInput + { + + /// + /// Reference to supplier bill number + /// + [JsonProperty("bill_number")] + public string? BillNumber { get; set; } = null; + + /// + /// The supplier this entity is linked to. + /// + [JsonProperty("supplier")] + public LinkedSupplierInput? Supplier { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// Amounts are including tax + /// + [JsonProperty("tax_inclusive")] + public bool? TaxInclusive { get; set; } = null; + + /// + /// Date bill was issued - YYYY-MM-DD. + /// + [JsonProperty("bill_date")] + public LocalDate? BillDate { get; set; } + + /// + /// The due date is the date on which a payment is scheduled to be received - YYYY-MM-DD. + /// + [JsonProperty("due_date")] + public LocalDate? DueDate { get; set; } + + /// + /// The paid date is the date on which a payment was sent to the supplier - YYYY-MM-DD. + /// + [JsonProperty("paid_date")] + public LocalDate? PaidDate { get; set; } = null; + + /// + /// A PO Number uniquely identifies a purchase order and is generally defined by the buyer. The buyer will match the PO number in the invoice to the Purchase Order. + /// + [JsonProperty("po_number")] + public string? PoNumber { get; set; } = null; + + /// + /// Optional bill reference. + /// + [JsonProperty("reference")] + public string? Reference { get; set; } = null; + + [JsonProperty("line_items")] + public List? LineItems { get; set; } + + /// + /// Terms of payment. + /// + [JsonProperty("terms")] + public string? Terms { get; set; } = null; + + /// + /// Balance of bill due. + /// + [JsonProperty("balance")] + public double? Balance { get; set; } = null; + + /// + /// Amount of deposit made to this bill. + /// + [JsonProperty("deposit")] + public double? Deposit { get; set; } = null; + + /// + /// Sub-total amount, normally before tax. + /// + [JsonProperty("sub_total")] + public double? SubTotal { get; set; } = null; + + /// + /// Total tax amount applied to this bill. + /// + [JsonProperty("total_tax")] + public double? TotalTax { get; set; } = null; + + /// + /// Total amount of bill, including tax. + /// + [JsonProperty("total")] + public double? Total { get; set; } = null; + + /// + /// Applicable tax id/code override if tax is not supplied on a line item basis. + /// + [JsonProperty("tax_code")] + public string? TaxCode { get; set; } = null; + + [JsonProperty("notes")] + public string? Notes { get; set; } = null; + + /// + /// Invoice status + /// + [JsonProperty("status")] + public BillStatus? Status { get; set; } = null; + + [JsonProperty("ledger_account")] + public LinkedLedgerAccountInput? LedgerAccount { get; set; } = null; + + /// + /// Payment method used for the transaction, such as cash, credit card, bank transfer, or check + /// + [JsonProperty("payment_method")] + public string? PaymentMethod { get; set; } = null; + + /// + /// The channel through which the transaction is processed. + /// + [JsonProperty("channel")] + public string? Channel { get; set; } = null; + + /// + /// language code according to ISO 639-1. For the United States - EN + /// + [JsonProperty("language")] + public string? Language { get; set; } = null; + + /// + /// Indicates if accounting by row is used (true) or not (false). Accounting by row means that a separate ledger transaction is created for each row. + /// + [JsonProperty("accounting_by_row")] + public bool? AccountingByRow { get; set; } = null; + + [JsonProperty("bank_account")] + public BankAccount? BankAccount { get; set; } + + /// + /// Discount percentage applied to this transaction. + /// + [JsonProperty("discount_percentage")] + public double? DiscountPercentage { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + + /// + /// Accounting period + /// + [JsonProperty("accounting_period")] + public string? AccountingPeriod { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BillLineItem.cs b/src/Apideck/Unify/SDK/Models/Components/BillLineItem.cs new file mode 100644 index 00000000..acaedc7d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BillLineItem.cs @@ -0,0 +1,150 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class BillLineItem + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Row ID + /// + [JsonProperty("row_id")] + public string? RowId { get; set; } + + /// + /// User defined item code + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + + /// + /// Line number in the invoice + /// + [JsonProperty("line_number")] + public long? LineNumber { get; set; } = null; + + /// + /// User defined description + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// Bill Line Item type + /// + [JsonProperty("type")] + public BillLineItemType? Type { get; set; } = null; + + /// + /// Tax amount + /// + [JsonProperty("tax_amount")] + public double? TaxAmount { get; set; } = null; + + /// + /// Total amount of the line item + /// + [JsonProperty("total_amount")] + public double? TotalAmount { get; set; } = null; + + [JsonProperty("quantity")] + public double? Quantity { get; set; } = null; + + [JsonProperty("unit_price")] + public double? UnitPrice { get; set; } = null; + + /// + /// Description of the unit type the item is sold as, ie: kg, hour. + /// + [JsonProperty("unit_of_measure")] + public string? UnitOfMeasure { get; set; } = null; + + /// + /// Discount percentage applied to the line item when supported downstream. + /// + [JsonProperty("discount_percentage")] + public double? DiscountPercentage { get; set; } = null; + + /// + /// Discount amount applied to the line item when supported downstream. + /// + [JsonProperty("discount_amount")] + public double? DiscountAmount { get; set; } = null; + + /// + /// Location id + /// + [JsonProperty("location_id")] + public string? LocationId { get; set; } = null; + + /// + /// Department id + /// + [JsonProperty("department_id")] + public string? DepartmentId { get; set; } = null; + + [JsonProperty("item")] + public LinkedInvoiceItem? Item { get; set; } + + [JsonProperty("tax_rate")] + public LinkedTaxRate? TaxRate { get; set; } + + [JsonProperty("ledger_account")] + public LinkedLedgerAccount? LedgerAccount { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BillLineItemInput.cs b/src/Apideck/Unify/SDK/Models/Components/BillLineItemInput.cs new file mode 100644 index 00000000..d24a0f08 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BillLineItemInput.cs @@ -0,0 +1,119 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class BillLineItemInput + { + + /// + /// Row ID + /// + [JsonProperty("row_id")] + public string? RowId { get; set; } + + /// + /// User defined item code + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + + /// + /// Line number in the invoice + /// + [JsonProperty("line_number")] + public long? LineNumber { get; set; } = null; + + /// + /// User defined description + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// Bill Line Item type + /// + [JsonProperty("type")] + public BillLineItemType? Type { get; set; } = null; + + /// + /// Tax amount + /// + [JsonProperty("tax_amount")] + public double? TaxAmount { get; set; } = null; + + /// + /// Total amount of the line item + /// + [JsonProperty("total_amount")] + public double? TotalAmount { get; set; } = null; + + [JsonProperty("quantity")] + public double? Quantity { get; set; } = null; + + [JsonProperty("unit_price")] + public double? UnitPrice { get; set; } = null; + + /// + /// Description of the unit type the item is sold as, ie: kg, hour. + /// + [JsonProperty("unit_of_measure")] + public string? UnitOfMeasure { get; set; } = null; + + /// + /// Discount percentage applied to the line item when supported downstream. + /// + [JsonProperty("discount_percentage")] + public double? DiscountPercentage { get; set; } = null; + + /// + /// Discount amount applied to the line item when supported downstream. + /// + [JsonProperty("discount_amount")] + public double? DiscountAmount { get; set; } = null; + + /// + /// Location id + /// + [JsonProperty("location_id")] + public string? LocationId { get; set; } = null; + + /// + /// Department id + /// + [JsonProperty("department_id")] + public string? DepartmentId { get; set; } = null; + + [JsonProperty("item")] + public LinkedInvoiceItem? Item { get; set; } + + [JsonProperty("tax_rate")] + public LinkedTaxRateInput? TaxRate { get; set; } + + [JsonProperty("ledger_account")] + public LinkedLedgerAccountInput? LedgerAccount { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BillLineItemType.cs b/src/Apideck/Unify/SDK/Models/Components/BillLineItemType.cs new file mode 100644 index 00000000..3f036fdc --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BillLineItemType.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Bill Line Item type + /// + public enum BillLineItemType + { + [JsonProperty("expense_item")] + ExpenseItem, + [JsonProperty("expense_account")] + ExpenseAccount, + [JsonProperty("other")] + Other, + } + + public static class BillLineItemTypeExtension + { + public static string Value(this BillLineItemType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static BillLineItemType ToEnum(this string value) + { + foreach(var field in typeof(BillLineItemType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is BillLineItemType) + { + return (BillLineItemType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum BillLineItemType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BillPayment.cs b/src/Apideck/Unify/SDK/Models/Components/BillPayment.cs new file mode 100644 index 00000000..7f51b1ac --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BillPayment.cs @@ -0,0 +1,186 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class BillPayment + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The third-party API ID of original entity + /// + [JsonProperty("downstream_id")] + public string? DownstreamId { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// The total amount of the transaction + /// + [JsonProperty("total_amount", NullValueHandling = NullValueHandling.Include)] + public double? TotalAmount { get; set; } + + /// + /// Optional transaction reference message ie: Debit remittance detail. + /// + [JsonProperty("reference")] + public string? Reference { get; set; } = null; + + /// + /// Payment method used for the transaction, such as cash, credit card, bank transfer, or check + /// + [JsonProperty("payment_method")] + public string? PaymentMethod { get; set; } = null; + + /// + /// Optional reference message returned by payment method on processing + /// + [JsonProperty("payment_method_reference")] + public string? PaymentMethodReference { get; set; } = null; + + /// + /// A unique identifier for an object. + /// + [JsonProperty("payment_method_id")] + public string? PaymentMethodId { get; set; } = null; + + [JsonProperty("account")] + public LinkedLedgerAccount? Account { get; set; } = null; + + /// + /// The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD + /// + [JsonProperty("transaction_date", NullValueHandling = NullValueHandling.Include)] + public DateTime? TransactionDate { get; set; } + + /// + /// The supplier this entity is linked to. + /// + [JsonProperty("supplier")] + public LinkedSupplier? Supplier { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// Indicates if the transaction has been reconciled. + /// + [JsonProperty("reconciled")] + public bool? Reconciled { get; set; } = null; + + /// + /// Status of payment + /// + [JsonProperty("status")] + public PaymentStatus? Status { get; set; } + + /// + /// Type of payment + /// + [JsonProperty("type")] + public BillPaymentType? Type { get; set; } + + [JsonProperty("allocations")] + public List? Allocations { get; set; } + + /// + /// Note associated with the transaction + /// + [JsonProperty("note")] + public string? Note { get; set; } = null; + + /// + /// Number associated with the transaction + /// + [JsonProperty("number")] + public string? Number { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// Id to be displayed. + /// + [JsonProperty("display_id")] + public string? DisplayId { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BillPaymentAllocationType.cs b/src/Apideck/Unify/SDK/Models/Components/BillPaymentAllocationType.cs new file mode 100644 index 00000000..374b1aef --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BillPaymentAllocationType.cs @@ -0,0 +1,70 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Type of entity this payment should be attributed to. + /// + public enum BillPaymentAllocationType + { + [JsonProperty("bill")] + Bill, + [JsonProperty("expense")] + Expense, + [JsonProperty("credit_memo")] + CreditMemo, + [JsonProperty("over_payment")] + OverPayment, + [JsonProperty("pre_payment")] + PrePayment, + [JsonProperty("journal_entry")] + JournalEntry, + [JsonProperty("other")] + Other, + } + + public static class BillPaymentAllocationTypeExtension + { + public static string Value(this BillPaymentAllocationType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static BillPaymentAllocationType ToEnum(this string value) + { + foreach(var field in typeof(BillPaymentAllocationType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is BillPaymentAllocationType) + { + return (BillPaymentAllocationType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum BillPaymentAllocationType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BillPaymentAllocations.cs b/src/Apideck/Unify/SDK/Models/Components/BillPaymentAllocations.cs new file mode 100644 index 00000000..6a2893d8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BillPaymentAllocations.cs @@ -0,0 +1,43 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class BillPaymentAllocations + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// Type of entity this payment should be attributed to. + /// + [JsonProperty("type")] + public BillPaymentAllocationType? Type { get; set; } + + /// + /// Amount of payment that should be attributed to this allocation. If null, the total_amount will be used. + /// + [JsonProperty("amount")] + public double? Amount { get; set; } = null; + + /// + /// Unique identifier of the allocation + /// + [JsonProperty("allocation_id")] + public string? AllocationId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BillPaymentInput.cs b/src/Apideck/Unify/SDK/Models/Components/BillPaymentInput.cs new file mode 100644 index 00000000..dfe5481f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BillPaymentInput.cs @@ -0,0 +1,144 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class BillPaymentInput + { + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// The total amount of the transaction + /// + [JsonProperty("total_amount", NullValueHandling = NullValueHandling.Include)] + public double? TotalAmount { get; set; } + + /// + /// Optional transaction reference message ie: Debit remittance detail. + /// + [JsonProperty("reference")] + public string? Reference { get; set; } = null; + + /// + /// Payment method used for the transaction, such as cash, credit card, bank transfer, or check + /// + [JsonProperty("payment_method")] + public string? PaymentMethod { get; set; } = null; + + /// + /// Optional reference message returned by payment method on processing + /// + [JsonProperty("payment_method_reference")] + public string? PaymentMethodReference { get; set; } = null; + + /// + /// A unique identifier for an object. + /// + [JsonProperty("payment_method_id")] + public string? PaymentMethodId { get; set; } = null; + + [JsonProperty("account")] + public LinkedLedgerAccountInput? Account { get; set; } = null; + + /// + /// The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD + /// + [JsonProperty("transaction_date", NullValueHandling = NullValueHandling.Include)] + public DateTime? TransactionDate { get; set; } + + /// + /// The supplier this entity is linked to. + /// + [JsonProperty("supplier")] + public LinkedSupplierInput? Supplier { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// Indicates if the transaction has been reconciled. + /// + [JsonProperty("reconciled")] + public bool? Reconciled { get; set; } = null; + + /// + /// Status of payment + /// + [JsonProperty("status")] + public PaymentStatus? Status { get; set; } + + /// + /// Type of payment + /// + [JsonProperty("type")] + public BillPaymentType? Type { get; set; } + + [JsonProperty("allocations")] + public List? Allocations { get; set; } + + /// + /// Note associated with the transaction + /// + [JsonProperty("note")] + public string? Note { get; set; } = null; + + /// + /// Number associated with the transaction + /// + [JsonProperty("number")] + public string? Number { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// Id to be displayed. + /// + [JsonProperty("display_id")] + public string? DisplayId { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BillPaymentType.cs b/src/Apideck/Unify/SDK/Models/Components/BillPaymentType.cs new file mode 100644 index 00000000..57f5255c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BillPaymentType.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Type of payment + /// + public enum BillPaymentType + { + [JsonProperty("accounts_payable_credit")] + AccountsPayableCredit, + [JsonProperty("accounts_payable_overpayment")] + AccountsPayableOverpayment, + [JsonProperty("accounts_payable_prepayment")] + AccountsPayablePrepayment, + [JsonProperty("accounts_payable")] + AccountsPayable, + } + + public static class BillPaymentTypeExtension + { + public static string Value(this BillPaymentType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static BillPaymentType ToEnum(this string value) + { + foreach(var field in typeof(BillPaymentType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is BillPaymentType) + { + return (BillPaymentType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum BillPaymentType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BillStatus.cs b/src/Apideck/Unify/SDK/Models/Components/BillStatus.cs new file mode 100644 index 00000000..1fc82b4b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BillStatus.cs @@ -0,0 +1,72 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Invoice status + /// + public enum BillStatus + { + [JsonProperty("draft")] + Draft, + [JsonProperty("submitted")] + Submitted, + [JsonProperty("authorised")] + Authorised, + [JsonProperty("partially_paid")] + PartiallyPaid, + [JsonProperty("paid")] + Paid, + [JsonProperty("void")] + Void, + [JsonProperty("credit")] + Credit, + [JsonProperty("deleted")] + Deleted, + } + + public static class BillStatusExtension + { + public static string Value(this BillStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static BillStatus ToEnum(this string value) + { + foreach(var field in typeof(BillStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is BillStatus) + { + return (BillStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum BillStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BillsFilter.cs b/src/Apideck/Unify/SDK/Models/Components/BillsFilter.cs new file mode 100644 index 00000000..a241c783 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BillsFilter.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using System; + + public class BillsFilter + { + + [SpeakeasyMetadata("queryParam:name=updated_since")] + public DateTime? UpdatedSince { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/BillsSort.cs b/src/Apideck/Unify/SDK/Models/Components/BillsSort.cs new file mode 100644 index 00000000..d4560e2d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/BillsSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class BillsSort + { + + /// + /// The field on which to sort the Bills + /// + [SpeakeasyMetadata("queryParam:name=by")] + public By? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Blocks.cs b/src/Apideck/Unify/SDK/Models/Components/Blocks.cs new file mode 100644 index 00000000..7fea5355 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Blocks.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Blocks + { + + [JsonProperty("title")] + public string? Title { get; set; } + + [JsonProperty("content")] + public string? Content { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Branch.cs b/src/Apideck/Unify/SDK/Models/Components/Branch.cs new file mode 100644 index 00000000..e9b59be9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Branch.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Details of the branch for which the job is created. + /// + public class Branch + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Name of the branch. + /// + [JsonProperty("name")] + public string? Name { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/By.cs b/src/Apideck/Unify/SDK/Models/Components/By.cs new file mode 100644 index 00000000..bcfd82e6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/By.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Bills + /// + public enum By + { + [JsonProperty("updated_at")] + UpdatedAt, + [JsonProperty("created_at")] + CreatedAt, + } + + public static class ByExtension + { + public static string Value(this By value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static By ToEnum(this string value) + { + foreach(var field in typeof(By).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is By) + { + return (By)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum By"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Categories.cs b/src/Apideck/Unify/SDK/Models/Components/Categories.cs new file mode 100644 index 00000000..1d8945ba --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Categories.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Categories + { + + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The name of the category. + /// + [JsonProperty("name")] + public string? Name { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Classification.cs b/src/Apideck/Unify/SDK/Models/Components/Classification.cs new file mode 100644 index 00000000..e82b5365 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Classification.cs @@ -0,0 +1,76 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The classification of account. + /// + public enum Classification + { + [JsonProperty("asset")] + Asset, + [JsonProperty("equity")] + Equity, + [JsonProperty("expense")] + Expense, + [JsonProperty("liability")] + Liability, + [JsonProperty("revenue")] + Revenue, + [JsonProperty("income")] + Income, + [JsonProperty("other_income")] + OtherIncome, + [JsonProperty("other_expense")] + OtherExpense, + [JsonProperty("costs_of_sales")] + CostsOfSales, + [JsonProperty("other")] + Other, + } + + public static class ClassificationExtension + { + public static string Value(this Classification value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static Classification ToEnum(this string value) + { + foreach(var field in typeof(Classification).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is Classification) + { + return (Classification)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum Classification"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Collection.cs b/src/Apideck/Unify/SDK/Models/Components/Collection.cs new file mode 100644 index 00000000..1b999eed --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Collection.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public class Collection + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The collections's parent ID + /// + [JsonProperty("parent_id")] + public string? ParentId { get; set; } = null; + + /// + /// The collections's type + /// + [JsonProperty("type")] + public string? Type { get; set; } = null; + + /// + /// Name of the collection + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// Description of the collection + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CollectionTag.cs b/src/Apideck/Unify/SDK/Models/Components/CollectionTag.cs new file mode 100644 index 00000000..a6ac48dd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CollectionTag.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CollectionTag + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id", NullValueHandling = NullValueHandling.Include)] + public string? Id { get; set; } + + /// + /// The name of the tag. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CollectionTagInput.cs b/src/Apideck/Unify/SDK/Models/Components/CollectionTagInput.cs new file mode 100644 index 00000000..13510157 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CollectionTagInput.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CollectionTagInput + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id", NullValueHandling = NullValueHandling.Include)] + public string? Id { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CollectionTicketComment.cs b/src/Apideck/Unify/SDK/Models/Components/CollectionTicketComment.cs new file mode 100644 index 00000000..2684eb5c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CollectionTicketComment.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class CollectionTicketComment + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Body of the comment + /// + [JsonProperty("body")] + public string? Body { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CollectionTicketCommentInput.cs b/src/Apideck/Unify/SDK/Models/Components/CollectionTicketCommentInput.cs new file mode 100644 index 00000000..987057ed --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CollectionTicketCommentInput.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class CollectionTicketCommentInput + { + + /// + /// Body of the comment + /// + [JsonProperty("body")] + public string? Body { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CollectionUser.cs b/src/Apideck/Unify/SDK/Models/Components/CollectionUser.cs new file mode 100644 index 00000000..c0f8986f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CollectionUser.cs @@ -0,0 +1,74 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public class CollectionUser + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// Full name of the user + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// First name of the user + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// Last name of the user + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// Email address of the user + /// + [JsonProperty("email")] + public string? Email { get; set; } = null; + + /// + /// The URL of the photo of a person. + /// + [JsonProperty("photo_url")] + public string? PhotoUrl { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CollectionsSort.cs b/src/Apideck/Unify/SDK/Models/Components/CollectionsSort.cs new file mode 100644 index 00000000..789fc4d8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CollectionsSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CollectionsSort + { + + /// + /// The field on which to sort the Collections + /// + [SpeakeasyMetadata("queryParam:name=by")] + public CollectionsSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CollectionsSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/CollectionsSortBy.cs new file mode 100644 index 00000000..8cad430c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CollectionsSortBy.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Collections + /// + public enum CollectionsSortBy + { + [JsonProperty("name")] + Name, + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + } + + public static class CollectionsSortByExtension + { + public static string Value(this CollectionsSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static CollectionsSortBy ToEnum(this string value) + { + foreach(var field in typeof(CollectionsSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is CollectionsSortBy) + { + return (CollectionsSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum CollectionsSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CommentsSort.cs b/src/Apideck/Unify/SDK/Models/Components/CommentsSort.cs new file mode 100644 index 00000000..7bb3431b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CommentsSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CommentsSort + { + + /// + /// The field on which to sort the Comments + /// + [SpeakeasyMetadata("queryParam:name=by")] + public CommentsSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CommentsSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/CommentsSortBy.cs new file mode 100644 index 00000000..09615479 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CommentsSortBy.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Comments + /// + public enum CommentsSortBy + { + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + } + + public static class CommentsSortByExtension + { + public static string Value(this CommentsSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static CommentsSortBy ToEnum(this string value) + { + foreach(var field in typeof(CommentsSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is CommentsSortBy) + { + return (CommentsSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum CommentsSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CompaniesFilter.cs b/src/Apideck/Unify/SDK/Models/Components/CompaniesFilter.cs new file mode 100644 index 00000000..e01bf0c3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CompaniesFilter.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class CompaniesFilter + { + + /// + /// Name of the company to filter on + /// + [SpeakeasyMetadata("queryParam:name=name")] + public string? Name { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CompaniesSort.cs b/src/Apideck/Unify/SDK/Models/Components/CompaniesSort.cs new file mode 100644 index 00000000..46b110f8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CompaniesSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CompaniesSort + { + + /// + /// The field on which to sort the Companies + /// + [SpeakeasyMetadata("queryParam:name=by")] + public CompaniesSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CompaniesSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/CompaniesSortBy.cs new file mode 100644 index 00000000..ea4883b6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CompaniesSortBy.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Companies + /// + public enum CompaniesSortBy + { + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + [JsonProperty("name")] + Name, + } + + public static class CompaniesSortByExtension + { + public static string Value(this CompaniesSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static CompaniesSortBy ToEnum(this string value) + { + foreach(var field in typeof(CompaniesSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is CompaniesSortBy) + { + return (CompaniesSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum CompaniesSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Company.cs b/src/Apideck/Unify/SDK/Models/Components/Company.cs new file mode 100644 index 00000000..6d3da4da --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Company.cs @@ -0,0 +1,247 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class Company + { + + /// + /// Unique identifier for the company + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Name of the company + /// + [JsonProperty("name", NullValueHandling = NullValueHandling.Include)] + public string? Name { get; set; } + + /// + /// Number of interactions + /// + [JsonProperty("interaction_count")] + public long? InteractionCount { get; set; } = null; + + /// + /// Owner ID + /// + [JsonProperty("owner_id")] + public string? OwnerId { get; set; } = null; + + /// + /// The Image URL of the company + /// + [JsonProperty("image")] + public string? Image { get; set; } = null; + + /// + /// A description of the company + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The VAT number of the company + /// + [JsonProperty("vat_number")] + public string? VatNumber { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// The status of the company + /// + [JsonProperty("status")] + public string? Status { get; set; } = null; + + /// + /// The fax number of the company + /// + [JsonProperty("fax")] + public string? Fax { get; set; } = null; + + /// + /// The annual revenue of the company + /// + [JsonProperty("annual_revenue")] + public string? AnnualRevenue { get; set; } = null; + + /// + /// Number of employees + /// + [JsonProperty("number_of_employees")] + public string? NumberOfEmployees { get; set; } = null; + + /// + /// The industry represents the type of business the company is in. + /// + [JsonProperty("industry")] + public string? Industry { get; set; } = null; + + /// + /// The ownership indicates the type of ownership of the company. + /// + [JsonProperty("ownership")] + public string? Ownership { get; set; } = null; + + /// + /// A sales tax number is a unique number that identifies a company for tax purposes. + /// + [JsonProperty("sales_tax_number")] + public string? SalesTaxNumber { get; set; } = null; + + /// + /// A payee number is a unique number that identifies a payee for tax purposes. + /// + [JsonProperty("payee_number")] + public string? PayeeNumber { get; set; } = null; + + /// + /// An ABN is necessary for operating a business, while a TFN (Tax File Number) is required for any person working in Australia. + /// + [JsonProperty("abn_or_tfn")] + public string? AbnOrTfn { get; set; } = null; + + /// + /// An ABN Branch (also known as a GST Branch) is used if part of your business needs to account for GST separately from its parent entity. + /// + [JsonProperty("abn_branch")] + public string? AbnBranch { get; set; } = null; + + /// + /// The Australian Company Number (ACN) is a nine digit number with the last digit being a check digit calculated using a modified modulus 10 calculation. ASIC has adopted a convention of always printing and displaying the ACN in the format XXX XXX XXX; three blocks of three characters, each block separated by a blank. + /// + [JsonProperty("acn")] + public string? Acn { get; set; } = null; + + /// + /// The first name of the person. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// The last name of the person. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// Parent ID + /// + [JsonProperty("parent_id")] + public string? ParentId { get; set; } = null; + + [JsonProperty("bank_accounts")] + public List? BankAccounts { get; set; } + + [JsonProperty("websites")] + public List? Websites { get; set; } + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("social_links")] + public List? SocialLinks { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("row_type")] + public CompanyRowType? RowType { get; set; } + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + [JsonProperty("tags")] + public List? Tags { get; set; } = null; + + /// + /// Whether the company is read-only or not + /// + [JsonProperty("read_only")] + public bool? ReadOnly { get; set; } = null; + + /// + /// Last activity date + /// + [JsonProperty("last_activity_at")] + public DateTime? LastActivityAt { get; set; } = null; + + /// + /// Whether the company is deleted or not + /// + [JsonProperty("deleted")] + public bool? Deleted { get; set; } + + /// + /// A formal salutation for the person. For example, 'Mr', 'Mrs' + /// + [JsonProperty("salutation")] + public string? Salutation { get; set; } = null; + + /// + /// The date of birth of the person. + /// + [JsonProperty("birthday")] + public LocalDate? Birthday { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// Updated by user ID + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// Created by user ID + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// Last updated date + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// Creation date + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CompanyInfo.cs b/src/Apideck/Unify/SDK/Models/Components/CompanyInfo.cs new file mode 100644 index 00000000..3da9650d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CompanyInfo.cs @@ -0,0 +1,139 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class CompanyInfo + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The name of the company. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// Based on the status some functionality is enabled or disabled. + /// + [JsonProperty("status")] + public CompanyStatus? Status { get; set; } + + /// + /// The legal name of the company + /// + [JsonProperty("legal_name")] + public string? LegalName { get; set; } + + /// + /// country code according to ISO 3166-1 alpha-2. + /// + [JsonProperty("country")] + public string? Country { get; set; } = null; + + [JsonProperty("sales_tax_number")] + public string? SalesTaxNumber { get; set; } = null; + + /// + /// Whether sales tax is calculated automatically for the company + /// + [JsonProperty("automated_sales_tax")] + public bool? AutomatedSalesTax { get; set; } + + /// + /// Whether sales tax is enabled for the company + /// + [JsonProperty("sales_tax_enabled")] + public bool? SalesTaxEnabled { get; set; } + + [JsonProperty("default_sales_tax")] + public TaxRate? DefaultSalesTax { get; set; } + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// language code according to ISO 639-1. For the United States - EN + /// + [JsonProperty("language")] + public string? Language { get; set; } = null; + + /// + /// The start month of fiscal year. + /// + [JsonProperty("fiscal_year_start_month")] + public TheStartMonthOfFiscalYear? FiscalYearStartMonth { get; set; } + + /// + /// Date when company file was created + /// + [JsonProperty("company_start_date")] + public LocalDate? CompanyStartDate { get; set; } + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CompanyInput.cs b/src/Apideck/Unify/SDK/Models/Components/CompanyInput.cs new file mode 100644 index 00000000..6a0cad15 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CompanyInput.cs @@ -0,0 +1,186 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + + public class CompanyInput + { + + /// + /// Name of the company + /// + [JsonProperty("name", NullValueHandling = NullValueHandling.Include)] + public string? Name { get; set; } + + /// + /// Owner ID + /// + [JsonProperty("owner_id")] + public string? OwnerId { get; set; } = null; + + /// + /// The Image URL of the company + /// + [JsonProperty("image")] + public string? Image { get; set; } = null; + + /// + /// A description of the company + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The VAT number of the company + /// + [JsonProperty("vat_number")] + public string? VatNumber { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// The status of the company + /// + [JsonProperty("status")] + public string? Status { get; set; } = null; + + /// + /// The fax number of the company + /// + [JsonProperty("fax")] + public string? Fax { get; set; } = null; + + /// + /// The annual revenue of the company + /// + [JsonProperty("annual_revenue")] + public string? AnnualRevenue { get; set; } = null; + + /// + /// Number of employees + /// + [JsonProperty("number_of_employees")] + public string? NumberOfEmployees { get; set; } = null; + + /// + /// The industry represents the type of business the company is in. + /// + [JsonProperty("industry")] + public string? Industry { get; set; } = null; + + /// + /// The ownership indicates the type of ownership of the company. + /// + [JsonProperty("ownership")] + public string? Ownership { get; set; } = null; + + /// + /// A sales tax number is a unique number that identifies a company for tax purposes. + /// + [JsonProperty("sales_tax_number")] + public string? SalesTaxNumber { get; set; } = null; + + /// + /// A payee number is a unique number that identifies a payee for tax purposes. + /// + [JsonProperty("payee_number")] + public string? PayeeNumber { get; set; } = null; + + /// + /// An ABN is necessary for operating a business, while a TFN (Tax File Number) is required for any person working in Australia. + /// + [JsonProperty("abn_or_tfn")] + public string? AbnOrTfn { get; set; } = null; + + /// + /// An ABN Branch (also known as a GST Branch) is used if part of your business needs to account for GST separately from its parent entity. + /// + [JsonProperty("abn_branch")] + public string? AbnBranch { get; set; } = null; + + /// + /// The Australian Company Number (ACN) is a nine digit number with the last digit being a check digit calculated using a modified modulus 10 calculation. ASIC has adopted a convention of always printing and displaying the ACN in the format XXX XXX XXX; three blocks of three characters, each block separated by a blank. + /// + [JsonProperty("acn")] + public string? Acn { get; set; } = null; + + /// + /// The first name of the person. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// The last name of the person. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + [JsonProperty("bank_accounts")] + public List? BankAccounts { get; set; } + + [JsonProperty("websites")] + public List? Websites { get; set; } + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("social_links")] + public List? SocialLinks { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("row_type")] + public CompanyRowType? RowType { get; set; } + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + [JsonProperty("tags")] + public List? Tags { get; set; } = null; + + /// + /// Whether the company is read-only or not + /// + [JsonProperty("read_only")] + public bool? ReadOnly { get; set; } = null; + + /// + /// A formal salutation for the person. For example, 'Mr', 'Mrs' + /// + [JsonProperty("salutation")] + public string? Salutation { get; set; } = null; + + /// + /// The date of birth of the person. + /// + [JsonProperty("birthday")] + public LocalDate? Birthday { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CompanyRowType.cs b/src/Apideck/Unify/SDK/Models/Components/CompanyRowType.cs new file mode 100644 index 00000000..3e8755aa --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CompanyRowType.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CompanyRowType + { + + [JsonProperty("id")] + public string? Id { get; set; } = null; + + [JsonProperty("name")] + public string? Name { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CompanyStatus.cs b/src/Apideck/Unify/SDK/Models/Components/CompanyStatus.cs new file mode 100644 index 00000000..ea17c2fd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CompanyStatus.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Based on the status some functionality is enabled or disabled. + /// + public enum CompanyStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("inactive")] + Inactive, + } + + public static class CompanyStatusExtension + { + public static string Value(this CompanyStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static CompanyStatus ToEnum(this string value) + { + foreach(var field in typeof(CompanyStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is CompanyStatus) + { + return (CompanyStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum CompanyStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Compensation.cs b/src/Apideck/Unify/SDK/Models/Components/Compensation.cs new file mode 100644 index 00000000..332d99db --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Compensation.cs @@ -0,0 +1,56 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class Compensation + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("employee_id", NullValueHandling = NullValueHandling.Include)] + public string? EmployeeId { get; set; } + + /// + /// The employee's net pay. Only available when payroll has been processed + /// + [JsonProperty("net_pay")] + public double? NetPay { get; set; } = null; + + /// + /// The employee's gross pay. Only available when payroll has been processed + /// + [JsonProperty("gross_pay")] + public double? GrossPay { get; set; } = null; + + /// + /// An array of employer and employee taxes for the pay period. + /// + [JsonProperty("taxes")] + public List? Taxes { get; set; } = null; + + /// + /// An array of employee deductions for the pay period. + /// + [JsonProperty("deductions")] + public List? Deductions { get; set; } = null; + + /// + /// An array of employee benefits for the pay period. + /// + [JsonProperty("benefits")] + public List? Benefits { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Components.cs b/src/Apideck/Unify/SDK/Models/Components/Components.cs new file mode 100644 index 00000000..197e4748 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Components.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Components + { + + [JsonProperty("id")] + public string? Id { get; set; } = null; + + [JsonProperty("name")] + public string? Name { get; set; } + + [JsonProperty("rate")] + public double? Rate { get; set; } = null; + + [JsonProperty("compound")] + public bool? Compound { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Configuration.cs b/src/Apideck/Unify/SDK/Models/Components/Configuration.cs new file mode 100644 index 00000000..a0f22c62 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Configuration.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class Configuration + { + + [JsonProperty("resource")] + public string? Resource { get; set; } + + [JsonProperty("defaults")] + public List? Defaults { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Connection.cs b/src/Apideck/Unify/SDK/Models/Components/Connection.cs new file mode 100644 index 00000000..d9ca0694 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Connection.cs @@ -0,0 +1,176 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class Connection + { + + /// + /// The unique identifier of the connection. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The ID of the service this connection belongs to. + /// + [JsonProperty("service_id")] + public string? ServiceId { get; set; } + + /// + /// The name of the connection + /// + [JsonProperty("name")] + public string? Name { get; set; } + + [JsonProperty("tag_line")] + public string? TagLine { get; set; } + + /// + /// The unified API category where the connection belongs to. + /// + [JsonProperty("unified_api")] + public string? UnifiedApi { get; set; } + + /// + /// Connection state flow + /// + [JsonProperty("state")] + public ConnectionState? State { get; set; } + + /// + /// The current state of the Integration. + /// + [JsonProperty("integration_state")] + public IntegrationState? IntegrationState { get; set; } + + /// + /// Type of authorization used by the connector + /// + [JsonProperty("auth_type")] + public AuthType? AuthType { get; set; } + + /// + /// OAuth grant type used by the connector. More info: https://oauth.net/2/grant-types + /// + [JsonProperty("oauth_grant_type")] + public OAuthGrantType? OauthGrantType { get; set; } + + /// + /// Status of the connection. + /// + [JsonProperty("status")] + public ConnectionStatus? Status { get; set; } + + /// + /// Whether the connection is enabled or not. You can enable or disable a connection using the Update Connection API. + /// + [JsonProperty("enabled")] + public bool? Enabled { get; set; } + + /// + /// The website URL of the connection + /// + [JsonProperty("website")] + public string? Website { get; set; } + + /// + /// A visual icon of the connection, that will be shown in the Vault + /// + [JsonProperty("icon")] + public string? Icon { get; set; } + + /// + /// The logo of the connection, that will be shown in the Vault + /// + [JsonProperty("logo")] + public string? Logo { get; set; } + + /// + /// The OAuth redirect URI. Redirect your users to this URI to let them authorize your app in the connector's UI. Before you can use this URI, you must add `redirect_uri` as a query parameter to the `authorize_url`. Be sure to URL encode the `redirect_uri` part. Your users will be redirected to this `redirect_uri` after they granted access to your app in the connector's UI. + /// + [JsonProperty("authorize_url")] + public string? AuthorizeUrl { get; set; } = null; + + /// + /// The OAuth revoke URI. Redirect your users to this URI to revoke this connection. Before you can use this URI, you must add `redirect_uri` as a query parameter. Your users will be redirected to this `redirect_uri` after they granted access to your app in the connector's UI. + /// + [JsonProperty("revoke_url")] + public string? RevokeUrl { get; set; } = null; + + /// + /// Connection settings. Values will persist to `form_fields` with corresponding id + /// + [JsonProperty("settings")] + public Dictionary? Settings { get; set; } = null; + + /// + /// Attach your own consumer specific metadata + /// + [JsonProperty("metadata")] + public Dictionary? Metadata { get; set; } = null; + + /// + /// The settings that are wanted to create a connection. + /// + [JsonProperty("form_fields")] + public List? FormFields { get; set; } + + [JsonProperty("configuration")] + public List? Configuration { get; set; } + + [JsonProperty("configurable_resources")] + public List? ConfigurableResources { get; set; } + + [JsonProperty("resource_schema_support")] + public List? ResourceSchemaSupport { get; set; } + + [JsonProperty("resource_settings_support")] + public List? ResourceSettingsSupport { get; set; } + + [JsonProperty("validation_support")] + public bool? ValidationSupport { get; set; } + + [JsonProperty("schema_support")] + public bool? SchemaSupport { get; set; } + + /// + /// List of settings that are required to be configured on integration before authorization can occur + /// + [JsonProperty("settings_required_for_authorization")] + public List? SettingsRequiredForAuthorization { get; set; } + + [JsonProperty("subscriptions")] + public List? Subscriptions { get; set; } + + /// + /// Whether the connector has a guide available in the developer docs or not (https://docs.apideck.com/connectors/{service_id}/docs/consumer+connection). + /// + [JsonProperty("has_guide")] + public bool? HasGuide { get; set; } + + [JsonProperty("created_at")] + public double? CreatedAt { get; set; } + + /// + /// List of custom mappings configured for this connection + /// + [JsonProperty("custom_mappings")] + public List? CustomMappings { get; set; } + + [JsonProperty("updated_at")] + public double? UpdatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectionConfiguration.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectionConfiguration.cs new file mode 100644 index 00000000..3ac12a9e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectionConfiguration.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class ConnectionConfiguration + { + + [JsonProperty("resource")] + public string? Resource { get; set; } + + [JsonProperty("defaults")] + public List? Defaults { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectionDefaults.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectionDefaults.cs new file mode 100644 index 00000000..5b782c3d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectionDefaults.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class ConnectionDefaults + { + + [JsonProperty("id")] + public string? Id { get; set; } + + [JsonProperty("options")] + public List? Options { get; set; } + + [JsonProperty("value")] + public ConnectionValue? Value { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectionImportData.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectionImportData.cs new file mode 100644 index 00000000..0c3fce4b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectionImportData.cs @@ -0,0 +1,35 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class ConnectionImportData + { + + [JsonProperty("credentials")] + public Credentials? Credentials { get; set; } + + /// + /// Connection settings. Values will persist to `form_fields` with corresponding id + /// + [JsonProperty("settings")] + public ConnectionImportDataSettings? Settings { get; set; } = null; + + /// + /// Attach your own consumer specific metadata + /// + [JsonProperty("metadata")] + public Dictionary? Metadata { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectionImportDataSettings.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectionImportDataSettings.cs new file mode 100644 index 00000000..a1f1ac25 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectionImportDataSettings.cs @@ -0,0 +1,20 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + /// + /// Connection settings. Values will persist to `form_fields` with corresponding id + /// + public class ConnectionImportDataSettings + { + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectionInput.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectionInput.cs new file mode 100644 index 00000000..27f3ce82 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectionInput.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class ConnectionInput + { + + /// + /// Whether the connection is enabled or not. You can enable or disable a connection using the Update Connection API. + /// + [JsonProperty("enabled")] + public bool? Enabled { get; set; } + + /// + /// Connection settings. Values will persist to `form_fields` with corresponding id + /// + [JsonProperty("settings")] + public Dictionary? Settings { get; set; } = null; + + /// + /// Attach your own consumer specific metadata + /// + [JsonProperty("metadata")] + public Dictionary? Metadata { get; set; } = null; + + [JsonProperty("configuration")] + public List? Configuration { get; set; } + + /// + /// List of custom mappings configured for this connection + /// + [JsonProperty("custom_mappings")] + public List? CustomMappings { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectionState.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectionState.cs new file mode 100644 index 00000000..c7d195ea --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectionState.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Connection state flow + /// + public enum ConnectionState + { + [JsonProperty("available")] + Available, + [JsonProperty("callable")] + Callable, + [JsonProperty("added")] + Added, + [JsonProperty("authorized")] + Authorized, + [JsonProperty("invalid")] + Invalid, + } + + public static class ConnectionStateExtension + { + public static string Value(this ConnectionState value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ConnectionState ToEnum(this string value) + { + foreach(var field in typeof(ConnectionState).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ConnectionState) + { + return (ConnectionState)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ConnectionState"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectionStatus.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectionStatus.cs new file mode 100644 index 00000000..b3c5f810 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectionStatus.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Status of the connection. + /// + public enum ConnectionStatus + { + [JsonProperty("live")] + Live, + [JsonProperty("upcoming")] + Upcoming, + [JsonProperty("requested")] + Requested, + } + + public static class ConnectionStatusExtension + { + public static string Value(this ConnectionStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ConnectionStatus ToEnum(this string value) + { + foreach(var field in typeof(ConnectionStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ConnectionStatus) + { + return (ConnectionStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ConnectionStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectionValue.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectionValue.cs new file mode 100644 index 00000000..4358d237 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectionValue.cs @@ -0,0 +1,286 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json.Linq; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Numerics; + using System.Reflection; + using System; + + + public class ConnectionValueType + { + private ConnectionValueType(string value) { Value = value; } + + public string Value { get; private set; } + public static ConnectionValueType Str { get { return new ConnectionValueType("str"); } } + + public static ConnectionValueType Integer { get { return new ConnectionValueType("integer"); } } + + public static ConnectionValueType Number { get { return new ConnectionValueType("number"); } } + + public static ConnectionValueType Boolean { get { return new ConnectionValueType("boolean"); } } + + public static ConnectionValueType ArrayOfValue5 { get { return new ConnectionValueType("arrayOfValue5"); } } + + public static ConnectionValueType Null { get { return new ConnectionValueType("null"); } } + + public override string ToString() { return Value; } + public static implicit operator String(ConnectionValueType v) { return v.Value; } + public static ConnectionValueType FromString(string v) { + switch(v) { + case "str": return Str; + case "integer": return Integer; + case "number": return Number; + case "boolean": return Boolean; + case "arrayOfValue5": return ArrayOfValue5; + case "null": return Null; + default: throw new ArgumentException("Invalid value for ConnectionValueType"); + } + } + public override bool Equals(object? obj) + { + if (obj == null || GetType() != obj.GetType()) + { + return false; + } + return Value.Equals(((ConnectionValueType)obj).Value); + } + + public override int GetHashCode() + { + return Value.GetHashCode(); + } + } + + + [JsonConverter(typeof(ConnectionValue.ConnectionValueConverter))] + public class ConnectionValue { + public ConnectionValue(ConnectionValueType type) { + Type = type; + } + + [SpeakeasyMetadata("form:explode=true")] + public string? Str { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public long? Integer { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public double? Number { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public bool? Boolean { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public List? ArrayOfValue5 { get; set; } + + public ConnectionValueType Type { get; set; } + + + public static ConnectionValue CreateStr(string str) { + ConnectionValueType typ = ConnectionValueType.Str; + + ConnectionValue res = new ConnectionValue(typ); + res.Str = str; + return res; + } + + public static ConnectionValue CreateInteger(long integer) { + ConnectionValueType typ = ConnectionValueType.Integer; + + ConnectionValue res = new ConnectionValue(typ); + res.Integer = integer; + return res; + } + + public static ConnectionValue CreateNumber(double number) { + ConnectionValueType typ = ConnectionValueType.Number; + + ConnectionValue res = new ConnectionValue(typ); + res.Number = number; + return res; + } + + public static ConnectionValue CreateBoolean(bool boolean) { + ConnectionValueType typ = ConnectionValueType.Boolean; + + ConnectionValue res = new ConnectionValue(typ); + res.Boolean = boolean; + return res; + } + + public static ConnectionValue CreateArrayOfValue5(List arrayOfValue5) { + ConnectionValueType typ = ConnectionValueType.ArrayOfValue5; + + ConnectionValue res = new ConnectionValue(typ); + res.ArrayOfValue5 = arrayOfValue5; + return res; + } + + public static ConnectionValue CreateNull() { + ConnectionValueType typ = ConnectionValueType.Null; + return new ConnectionValue(typ); + } + + public class ConnectionValueConverter : JsonConverter + { + + public override bool CanConvert(System.Type objectType) => objectType == typeof(ConnectionValue); + + public override bool CanRead => true; + + public override object? ReadJson(JsonReader reader, System.Type objectType, object? existingValue, JsonSerializer serializer) + { + var json = JRaw.Create(reader).ToString(); + if (json == "null") + { + return null; + } + + var fallbackCandidates = new List<(System.Type, object, string)>(); + + if (json[0] == '"' && json[^1] == '"'){ + return new ConnectionValue(ConnectionValueType.Str) + { + Str = json[1..^1] + }; + } + + try + { + var converted = Convert.ToInt64(json); + return new ConnectionValue(ConnectionValueType.Integer) + { + Integer = converted + }; + } + catch (System.FormatException) + { + // try next option + } + + try + { + var converted = Convert.ToDouble(json); + return new ConnectionValue(ConnectionValueType.Number) + { + Number = converted + }; + } + catch (System.FormatException) + { + // try next option + } + + try + { + var converted = Convert.ToBoolean(json); + return new ConnectionValue(ConnectionValueType.Boolean) + { + Boolean = converted + }; + } + catch (System.FormatException) + { + // try next option + } + + try + { + return new ConnectionValue(ConnectionValueType.ArrayOfValue5) + { + ArrayOfValue5 = ResponseBodyDeserializer.DeserializeUndiscriminatedUnionMember>(json) + }; + } + catch (ResponseBodyDeserializer.MissingMemberException) + { + fallbackCandidates.Add((typeof(List), new ConnectionValue(ConnectionValueType.ArrayOfValue5), "ArrayOfValue5")); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next option + } + catch (Exception) + { + throw; + } + + if (fallbackCandidates.Count > 0) + { + fallbackCandidates.Sort((a, b) => ResponseBodyDeserializer.CompareFallbackCandidates(a.Item1, b.Item1, json)); + foreach(var (deserializationType, returnObject, propertyName) in fallbackCandidates) + { + try + { + return ResponseBodyDeserializer.DeserializeUndiscriminatedUnionFallback(deserializationType, returnObject, propertyName, json); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next fallback option + } + catch (Exception) + { + throw; + } + } + } + + throw new InvalidOperationException("Could not deserialize into any supported types."); + } + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + if (value == null) { + writer.WriteRawValue("null"); + return; + } + ConnectionValue res = (ConnectionValue)value; + if (ConnectionValueType.FromString(res.Type).Equals(ConnectionValueType.Null)) + { + writer.WriteRawValue("null"); + return; + } + if (res.Str != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Str)); + return; + } + if (res.Integer != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Integer)); + return; + } + if (res.Number != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Number)); + return; + } + if (res.Boolean != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Boolean)); + return; + } + if (res.ArrayOfValue5 != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.ArrayOfValue5)); + return; + } + + } + + } + + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Connector.cs b/src/Apideck/Unify/SDK/Models/Components/Connector.cs new file mode 100644 index 00000000..fc5fb388 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Connector.cs @@ -0,0 +1,179 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class Connector + { + + /// + /// ID of the connector. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Name of the connector. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// Status of the connector. Connectors with status live or beta are callable. + /// + [JsonProperty("status")] + public ConnectorStatus? Status { get; set; } + + /// + /// A description of the object. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// Link to a small square icon for the connector. + /// + [JsonProperty("icon_url")] + public string? IconUrl { get; set; } + + /// + /// Link to the full logo for the connector. + /// + [JsonProperty("logo_url")] + public string? LogoUrl { get; set; } + + /// + /// Link to the connector's website. + /// + [JsonProperty("website_url")] + public string? WebsiteUrl { get; set; } + + /// + /// Link to the connector's signup page. + /// + [JsonProperty("signup_url")] + public string? SignupUrl { get; set; } + + /// + /// Link to the connector's partner program signup page. + /// + [JsonProperty("partner_signup_url")] + public string? PartnerSignupUrl { get; set; } + + /// + /// Set to `true` when the connector offers a free trial. Use `signup_url` to sign up for a free trial + /// + [JsonProperty("free_trial_available")] + public bool? FreeTrialAvailable { get; set; } + + /// + /// Type of authorization used by the connector + /// + [JsonProperty("auth_type")] + public ConnectorAuthType? AuthType { get; set; } + + /// + /// Indicates whether a connector only supports authentication. In this case the connector is not mapped to a Unified API, but can be used with the Proxy API + /// + [JsonProperty("auth_only")] + public bool? AuthOnly { get; set; } + + /// + /// Set to `true` when connector was implemented from downstream docs only and without API access. This state indicates that integration will require Apideck support, and access to downstream API to validate mapping quality. + /// + [JsonProperty("blind_mapped")] + public bool? BlindMapped { get; set; } + + /// + /// OAuth grant type used by the connector. More info: https://oauth.net/2/grant-types + /// + [JsonProperty("oauth_grant_type")] + public ConnectorOauthGrantType? OauthGrantType { get; set; } + + /// + /// Location of the OAuth client credentials. For most connectors the OAuth client credentials are stored on integration and managed by the application owner. For others they are stored on connection and managed by the consumer in Vault. + /// + [JsonProperty("oauth_credentials_source")] + public OauthCredentialsSource? OauthCredentialsSource { get; set; } + + /// + /// List of OAuth Scopes available for this connector. + /// + [JsonProperty("oauth_scopes")] + public List? OauthScopes { get; set; } + + /// + /// Set to `true` when connector allows the definition of custom scopes. + /// + [JsonProperty("custom_scopes")] + public bool? CustomScopes { get; set; } + + /// + /// Indicates whether Apideck Sandbox OAuth credentials are available. + /// + [JsonProperty("has_sandbox_credentials")] + public bool? HasSandboxCredentials { get; set; } + + [JsonProperty("settings")] + public List? Settings { get; set; } + + /// + /// Service provider identifier + /// + [JsonProperty("service_id")] + public string? ServiceId { get; set; } + + /// + /// List of Unified APIs that feature this connector. + /// + [JsonProperty("unified_apis")] + public List? UnifiedApis { get; set; } + + /// + /// List of resources that are supported on the connector. + /// + [JsonProperty("supported_resources")] + public List? SupportedResources { get; set; } + + /// + /// List of resources that have settings that can be configured. + /// + [JsonProperty("configurable_resources")] + public List? ConfigurableResources { get; set; } + + /// + /// List of events that are supported on the connector across all Unified APIs. + /// + [JsonProperty("supported_events")] + public List? SupportedEvents { get; set; } + + /// + /// How webhooks are supported for the connector. Sometimes the connector natively supports webhooks, other times Apideck virtualizes them based on polling. + /// + [JsonProperty("webhook_support")] + public WebhookSupport? WebhookSupport { get; set; } + + /// + /// When a connector has schema_support, a call can be made to retrieve a json schema that describes a downstream resource. + /// + [JsonProperty("schema_support")] + public SchemaSupport? SchemaSupport { get; set; } + + [JsonProperty("docs")] + public List? Docs { get; set; } + + [JsonProperty("tls_support")] + public TlsSupport? TlsSupport { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectorAuthType.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectorAuthType.cs new file mode 100644 index 00000000..9a6bfa61 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectorAuthType.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Type of authorization used by the connector + /// + public enum ConnectorAuthType + { + [JsonProperty("oauth2")] + Oauth2, + [JsonProperty("apiKey")] + ApiKey, + [JsonProperty("basic")] + Basic, + [JsonProperty("custom")] + Custom, + [JsonProperty("none")] + None, + } + + public static class ConnectorAuthTypeExtension + { + public static string Value(this ConnectorAuthType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ConnectorAuthType ToEnum(this string value) + { + foreach(var field in typeof(ConnectorAuthType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ConnectorAuthType) + { + return (ConnectorAuthType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ConnectorAuthType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectorDoc.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectorDoc.cs new file mode 100644 index 00000000..03da434d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectorDoc.cs @@ -0,0 +1,49 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ConnectorDoc + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Name of the doc. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// Audience for the doc. + /// + [JsonProperty("audience")] + public Audience? Audience { get; set; } + + /// + /// Format of the doc. + /// + [JsonProperty("format")] + public Format? Format { get; set; } + + /// + /// Link to fetch the content of the doc. + /// + [JsonProperty("url")] + public string? Url { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectorEvent.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectorEvent.cs new file mode 100644 index 00000000..032cea2d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectorEvent.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Unify event that is supported on the connector. Events are delivered via Webhooks. + /// + public class ConnectorEvent + { + + /// + /// Unify event type + /// + [JsonProperty("event_type")] + public string? EventType { get; set; } + + /// + /// Unify event source + /// + [JsonProperty("event_source")] + public EventSource? EventSource { get; set; } + + /// + /// Downstream event type + /// + [JsonProperty("downstream_event_type")] + public string? DownstreamEventType { get; set; } + + [JsonProperty("resources")] + public List? Resources { get; set; } + + /// + /// Unify entity type + /// + [JsonProperty("entity_type")] + public string? EntityType { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectorOauthGrantType.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectorOauthGrantType.cs new file mode 100644 index 00000000..10b0a319 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectorOauthGrantType.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// OAuth grant type used by the connector. More info: https://oauth.net/2/grant-types + /// + public enum ConnectorOauthGrantType + { + [JsonProperty("authorization_code")] + AuthorizationCode, + [JsonProperty("client_credentials")] + ClientCredentials, + [JsonProperty("password")] + Password, + } + + public static class ConnectorOauthGrantTypeExtension + { + public static string Value(this ConnectorOauthGrantType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ConnectorOauthGrantType ToEnum(this string value) + { + foreach(var field in typeof(ConnectorOauthGrantType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ConnectorOauthGrantType) + { + return (ConnectorOauthGrantType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ConnectorOauthGrantType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectorOauthScopes.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectorOauthScopes.cs new file mode 100644 index 00000000..ba12f148 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectorOauthScopes.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// OAuth scopes required for the connector. Add these scopes to your OAuth app. + /// + public class ConnectorOauthScopes + { + + /// + /// ID of the OAuth scope. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Label of the OAuth scope. + /// + [JsonProperty("label")] + public string? Label { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectorResource.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectorResource.cs new file mode 100644 index 00000000..822abd85 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectorResource.cs @@ -0,0 +1,101 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class ConnectorResource + { + + /// + /// ID of the resource, typically a lowercased version of name. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Name of the resource (plural) + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// ID of the resource in the Connector's API (downstream) + /// + [JsonProperty("downstream_id")] + public string? DownstreamId { get; set; } + + /// + /// Name of the resource in the Connector's API (downstream) + /// + [JsonProperty("downstream_name")] + public string? DownstreamName { get; set; } + + /// + /// Status of the resource. Resources with status live or beta are callable. + /// + [JsonProperty("status")] + public ResourceStatus? Status { get; set; } + + /// + /// Indicates if pagination (cursor and limit parameters) is supported on the list endpoint of the resource. + /// + [JsonProperty("pagination_supported")] + public bool? PaginationSupported { get; set; } + + [JsonProperty("pagination")] + public PaginationCoverage? Pagination { get; set; } + + /// + /// Indicates if custom fields are supported on this resource. + /// + [JsonProperty("custom_fields_supported")] + public bool? CustomFieldsSupported { get; set; } + + /// + /// List of supported operations on the resource. + /// + [JsonProperty("supported_operations")] + public List? SupportedOperations { get; set; } + + /// + /// List of operations that are not supported on the downstream. + /// + [JsonProperty("downstream_unsupported_operations")] + public List? DownstreamUnsupportedOperations { get; set; } + + /// + /// Supported filters on the list endpoint of the resource. + /// + [JsonProperty("supported_filters")] + public List? SupportedFilters { get; set; } + + /// + /// Supported sorting properties on the list endpoint of the resource. + /// + [JsonProperty("supported_sort_by")] + public List? SupportedSortBy { get; set; } + + /// + /// Supported fields on the detail endpoint. + /// + [JsonProperty("supported_fields")] + public List? SupportedFields { get; set; } + + /// + /// Supported fields on the list endpoint. + /// + [JsonProperty("supported_list_fields")] + public List? SupportedListFields { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectorSetting.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectorSetting.cs new file mode 100644 index 00000000..fece4138 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectorSetting.cs @@ -0,0 +1,28 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ConnectorSetting + { + + [JsonProperty("id")] + public string? Id { get; set; } + + [JsonProperty("label")] + public string? Label { get; set; } + + [JsonProperty("type")] + public ConnectorSettingType? Type { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectorSettingType.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectorSettingType.cs new file mode 100644 index 00000000..a31d014a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectorSettingType.cs @@ -0,0 +1,81 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum ConnectorSettingType + { + [JsonProperty("text")] + Text, + [JsonProperty("checkbox")] + Checkbox, + [JsonProperty("tel")] + Tel, + [JsonProperty("email")] + Email, + [JsonProperty("url")] + Url, + [JsonProperty("textarea")] + Textarea, + [JsonProperty("select")] + Select, + [JsonProperty("filtered-select")] + FilteredSelect, + [JsonProperty("multi-select")] + MultiSelect, + [JsonProperty("datetime")] + Datetime, + [JsonProperty("date")] + Date, + [JsonProperty("time")] + Time, + [JsonProperty("number")] + Number, + [JsonProperty("password")] + Password, + } + + public static class ConnectorSettingTypeExtension + { + public static string Value(this ConnectorSettingType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ConnectorSettingType ToEnum(this string value) + { + foreach(var field in typeof(ConnectorSettingType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ConnectorSettingType) + { + return (ConnectorSettingType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ConnectorSettingType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectorStatus.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectorStatus.cs new file mode 100644 index 00000000..a675a10f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectorStatus.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Status of the connector. Connectors with status live or beta are callable. + /// + public enum ConnectorStatus + { + [JsonProperty("live")] + Live, + [JsonProperty("beta")] + Beta, + [JsonProperty("development")] + Development, + [JsonProperty("considering")] + Considering, + } + + public static class ConnectorStatusExtension + { + public static string Value(this ConnectorStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ConnectorStatus ToEnum(this string value) + { + foreach(var field in typeof(ConnectorStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ConnectorStatus) + { + return (ConnectorStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ConnectorStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConnectorsFilter.cs b/src/Apideck/Unify/SDK/Models/Components/ConnectorsFilter.cs new file mode 100644 index 00000000..76b80e35 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConnectorsFilter.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class ConnectorsFilter + { + + /// + /// Name of Apideck Unified API + /// + [SpeakeasyMetadata("queryParam:name=unified_api")] + public UnifiedApiId? UnifiedApi { get; set; } + + /// + /// Status of the connector. Connectors with status live or beta are callable. + /// + [SpeakeasyMetadata("queryParam:name=status")] + public ConnectorStatus? Status { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Consumer.cs b/src/Apideck/Unify/SDK/Models/Components/Consumer.cs new file mode 100644 index 00000000..a8da4292 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Consumer.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class Consumer + { + + /// + /// Unique consumer identifier. You can freely choose a consumer ID yourself. Most of the time, this is an ID of your internal data model that represents a user or account in your system (for example account:12345). If the consumer doesn't exist yet, Vault will upsert a consumer based on your ID. + /// + [JsonProperty("consumer_id")] + public string ConsumerId { get; set; } = default!; + + /// + /// ID of your Apideck Application + /// + [JsonProperty("application_id")] + public string? ApplicationId { get; set; } + + /// + /// The metadata of the consumer. This is used to display the consumer in the sidebar. This is optional, but recommended. + /// + [JsonProperty("metadata")] + public ConsumerMetadata? Metadata { get; set; } + + [JsonProperty("connections")] + public List? Connections { get; set; } + + [JsonProperty("services")] + public List? Services { get; set; } + + [JsonProperty("aggregated_request_count")] + public double? AggregatedRequestCount { get; set; } + + [JsonProperty("request_counts")] + public RequestCountAllocation? RequestCounts { get; set; } + + [JsonProperty("created")] + public string? Created { get; set; } + + [JsonProperty("modified")] + public string? Modified { get; set; } + + [JsonProperty("request_count_updated")] + public string? RequestCountUpdated { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConsumerConnection.cs b/src/Apideck/Unify/SDK/Models/Components/ConsumerConnection.cs new file mode 100644 index 00000000..dbf6c0eb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConsumerConnection.cs @@ -0,0 +1,80 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class ConsumerConnection + { + + [JsonProperty("id")] + public string? Id { get; set; } + + [JsonProperty("name")] + public string? Name { get; set; } + + [JsonProperty("icon")] + public string? Icon { get; set; } + + [JsonProperty("logo")] + public string? Logo { get; set; } + + [JsonProperty("website")] + public string? Website { get; set; } + + [JsonProperty("tag_line")] + public string? TagLine { get; set; } + + [JsonProperty("service_id")] + public string? ServiceId { get; set; } + + [JsonProperty("unified_api")] + public string? UnifiedApi { get; set; } + + [JsonProperty("consumer_id")] + public string? ConsumerId { get; set; } + + /// + /// Type of authorization used by the connector + /// + [JsonProperty("auth_type")] + public AuthType? AuthType { get; set; } + + [JsonProperty("enabled")] + public bool? Enabled { get; set; } + + /// + /// Connection settings. Values will persist to `form_fields` with corresponding id + /// + [JsonProperty("settings")] + public Settings? Settings { get; set; } = null; + + /// + /// Attach your own consumer specific metadata + /// + [JsonProperty("metadata")] + public Dictionary? Metadata { get; set; } = null; + + [JsonProperty("created_at")] + public string? CreatedAt { get; set; } + + [JsonProperty("updated_at")] + public string? UpdatedAt { get; set; } = null; + + /// + /// Connection state flow + /// + [JsonProperty("state")] + public ConnectionState? State { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConsumerInput.cs b/src/Apideck/Unify/SDK/Models/Components/ConsumerInput.cs new file mode 100644 index 00000000..2c47bb22 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConsumerInput.cs @@ -0,0 +1,31 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ConsumerInput + { + + /// + /// Unique consumer identifier. You can freely choose a consumer ID yourself. Most of the time, this is an ID of your internal data model that represents a user or account in your system (for example account:12345). If the consumer doesn't exist yet, Vault will upsert a consumer based on your ID. + /// + [JsonProperty("consumer_id")] + public string ConsumerId { get; set; } = default!; + + /// + /// The metadata of the consumer. This is used to display the consumer in the sidebar. This is optional, but recommended. + /// + [JsonProperty("metadata")] + public ConsumerMetadata? Metadata { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConsumerMetadata.cs b/src/Apideck/Unify/SDK/Models/Components/ConsumerMetadata.cs new file mode 100644 index 00000000..ec858584 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConsumerMetadata.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// The metadata of the consumer. This is used to display the consumer in the sidebar. This is optional, but recommended. + /// + public class ConsumerMetadata + { + + /// + /// The name of the account as shown in the sidebar. + /// + [JsonProperty("account_name")] + public string? AccountName { get; set; } + + /// + /// The name of the user as shown in the sidebar. + /// + [JsonProperty("user_name")] + public string? UserName { get; set; } + + /// + /// The email of the user as shown in the sidebar. + /// + [JsonProperty("email")] + public string? Email { get; set; } + + /// + /// The avatar of the user in the sidebar. Must be a valid URL + /// + [JsonProperty("image")] + public string? Image { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConsumerRequestCountsInDateRangeResponse.cs b/src/Apideck/Unify/SDK/Models/Components/ConsumerRequestCountsInDateRangeResponse.cs new file mode 100644 index 00000000..362f52c0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConsumerRequestCountsInDateRangeResponse.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Consumers Request Counts within Date Range + /// + public class ConsumerRequestCountsInDateRangeResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public ConsumerRequestCountsInDateRangeResponseData Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ConsumerRequestCountsInDateRangeResponseData.cs b/src/Apideck/Unify/SDK/Models/Components/ConsumerRequestCountsInDateRangeResponseData.cs new file mode 100644 index 00000000..3252420e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ConsumerRequestCountsInDateRangeResponseData.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ConsumerRequestCountsInDateRangeResponseData + { + + [JsonProperty("application_id")] + public string? ApplicationId { get; set; } + + [JsonProperty("consumer_id")] + public string? ConsumerId { get; set; } + + [JsonProperty("start_datetime")] + public string? StartDatetime { get; set; } + + [JsonProperty("end_datetime")] + public string? EndDatetime { get; set; } + + [JsonProperty("aggregated_request_count")] + public double? AggregatedRequestCount { get; set; } + + [JsonProperty("request_counts")] + public RequestCountAllocation? RequestCounts { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Contact.cs b/src/Apideck/Unify/SDK/Models/Components/Contact.cs new file mode 100644 index 00000000..29fbeea9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Contact.cs @@ -0,0 +1,241 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class Contact + { + + /// + /// Unique identifier for the contact. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Full name of the contact. + /// + [JsonProperty("name", NullValueHandling = NullValueHandling.Include)] + public string? Name { get; set; } + + /// + /// The owner of the contact. + /// + [JsonProperty("owner_id")] + public string? OwnerId { get; set; } = null; + + /// + /// The type of the contact. + /// + [JsonProperty("type")] + public ContactType? Type { get; set; } = null; + + /// + /// The company the contact is associated with. + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The name of the company the contact is associated with. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// The lead the contact is associated with. + /// + [JsonProperty("lead_id")] + public string? LeadId { get; set; } = null; + + /// + /// The first name of the contact. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// The middle name of the contact. + /// + [JsonProperty("middle_name")] + public string? MiddleName { get; set; } = null; + + /// + /// The last name of the contact. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// The prefix of the contact. + /// + [JsonProperty("prefix")] + public string? Prefix { get; set; } = null; + + /// + /// The suffix of the contact. + /// + [JsonProperty("suffix")] + public string? Suffix { get; set; } = null; + + /// + /// The job title of the contact. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// The department of the contact. + /// + [JsonProperty("department")] + public string? Department { get; set; } = null; + + /// + /// language code according to ISO 639-1. For the United States - EN + /// + [JsonProperty("language")] + public string? Language { get; set; } = null; + + /// + /// The gender of the contact. + /// + [JsonProperty("gender")] + public ContactGender? Gender { get; set; } = null; + + /// + /// The birthday of the contact. + /// + [JsonProperty("birthday")] + public string? Birthday { get; set; } = null; + + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("image")] + public string? Image { get; set; } = null; + + /// + /// The URL of the photo of a person. + /// + [JsonProperty("photo_url")] + public string? PhotoUrl { get; set; } = null; + + /// + /// The lead source of the contact. + /// + [JsonProperty("lead_source")] + public string? LeadSource { get; set; } = null; + + /// + /// The fax number of the contact. + /// + [JsonProperty("fax")] + public string? Fax { get; set; } = null; + + /// + /// The description of the contact. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The current balance of the contact. + /// + [JsonProperty("current_balance")] + public double? CurrentBalance { get; set; } = null; + + /// + /// The status of the contact. + /// + [JsonProperty("status")] + public string? Status { get; set; } = null; + + /// + /// The active status of the contact. + /// + [JsonProperty("active")] + public bool? Active { get; set; } = null; + + [JsonProperty("websites")] + public List? Websites { get; set; } + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("social_links")] + public List? SocialLinks { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("email_domain")] + public string? EmailDomain { get; set; } = null; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + [JsonProperty("tags")] + public List? Tags { get; set; } = null; + + /// + /// The first call date of the contact. + /// + [JsonProperty("first_call_at")] + public DateTime? FirstCallAt { get; set; } = null; + + /// + /// The first email date of the contact. + /// + [JsonProperty("first_email_at")] + public DateTime? FirstEmailAt { get; set; } = null; + + /// + /// The last activity date of the contact. + /// + [JsonProperty("last_activity_at")] + public DateTime? LastActivityAt { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The last update date of the contact. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The creation date of the contact. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The opportunity ids of the contact. + /// + [JsonProperty("opportunity_ids")] + public List? OpportunityIds { get; set; } + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ContactGender.cs b/src/Apideck/Unify/SDK/Models/Components/ContactGender.cs new file mode 100644 index 00000000..336f1e70 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ContactGender.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The gender of the contact. + /// + public enum ContactGender + { + [JsonProperty("male")] + Male, + [JsonProperty("female")] + Female, + [JsonProperty("unisex")] + Unisex, + } + + public static class ContactGenderExtension + { + public static string Value(this ContactGender value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ContactGender ToEnum(this string value) + { + foreach(var field in typeof(ContactGender).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ContactGender) + { + return (ContactGender)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ContactGender"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ContactInput.cs b/src/Apideck/Unify/SDK/Models/Components/ContactInput.cs new file mode 100644 index 00000000..379ce7a5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ContactInput.cs @@ -0,0 +1,199 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class ContactInput + { + + /// + /// Full name of the contact. + /// + [JsonProperty("name", NullValueHandling = NullValueHandling.Include)] + public string? Name { get; set; } + + /// + /// The owner of the contact. + /// + [JsonProperty("owner_id")] + public string? OwnerId { get; set; } = null; + + /// + /// The type of the contact. + /// + [JsonProperty("type")] + public ContactType? Type { get; set; } = null; + + /// + /// The company the contact is associated with. + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The name of the company the contact is associated with. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// The lead the contact is associated with. + /// + [JsonProperty("lead_id")] + public string? LeadId { get; set; } = null; + + /// + /// The first name of the contact. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// The middle name of the contact. + /// + [JsonProperty("middle_name")] + public string? MiddleName { get; set; } = null; + + /// + /// The last name of the contact. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// The prefix of the contact. + /// + [JsonProperty("prefix")] + public string? Prefix { get; set; } = null; + + /// + /// The suffix of the contact. + /// + [JsonProperty("suffix")] + public string? Suffix { get; set; } = null; + + /// + /// The job title of the contact. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// The department of the contact. + /// + [JsonProperty("department")] + public string? Department { get; set; } = null; + + /// + /// language code according to ISO 639-1. For the United States - EN + /// + [JsonProperty("language")] + public string? Language { get; set; } = null; + + /// + /// The gender of the contact. + /// + [JsonProperty("gender")] + public ContactGender? Gender { get; set; } = null; + + /// + /// The birthday of the contact. + /// + [JsonProperty("birthday")] + public string? Birthday { get; set; } = null; + + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("image")] + public string? Image { get; set; } = null; + + /// + /// The URL of the photo of a person. + /// + [JsonProperty("photo_url")] + public string? PhotoUrl { get; set; } = null; + + /// + /// The lead source of the contact. + /// + [JsonProperty("lead_source")] + public string? LeadSource { get; set; } = null; + + /// + /// The fax number of the contact. + /// + [JsonProperty("fax")] + public string? Fax { get; set; } = null; + + /// + /// The description of the contact. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The current balance of the contact. + /// + [JsonProperty("current_balance")] + public double? CurrentBalance { get; set; } = null; + + /// + /// The status of the contact. + /// + [JsonProperty("status")] + public string? Status { get; set; } = null; + + /// + /// The active status of the contact. + /// + [JsonProperty("active")] + public bool? Active { get; set; } = null; + + [JsonProperty("websites")] + public List? Websites { get; set; } + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("social_links")] + public List? SocialLinks { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("email_domain")] + public string? EmailDomain { get; set; } = null; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + [JsonProperty("tags")] + public List? Tags { get; set; } = null; + + /// + /// The opportunity ids of the contact. + /// + [JsonProperty("opportunity_ids")] + public List? OpportunityIds { get; set; } + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ContactType.cs b/src/Apideck/Unify/SDK/Models/Components/ContactType.cs new file mode 100644 index 00000000..665500f0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ContactType.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of the contact. + /// + public enum ContactType + { + [JsonProperty("customer")] + Customer, + [JsonProperty("supplier")] + Supplier, + [JsonProperty("employee")] + Employee, + [JsonProperty("personal")] + Personal, + } + + public static class ContactTypeExtension + { + public static string Value(this ContactType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ContactType ToEnum(this string value) + { + foreach(var field in typeof(ContactType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ContactType) + { + return (ContactType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ContactType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ContactsFilter.cs b/src/Apideck/Unify/SDK/Models/Components/ContactsFilter.cs new file mode 100644 index 00000000..48afe284 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ContactsFilter.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class ContactsFilter + { + + /// + /// Name of the contact to filter on + /// + [SpeakeasyMetadata("queryParam:name=name")] + public string? Name { get; set; } + + /// + /// First name of the contact to filter on + /// + [SpeakeasyMetadata("queryParam:name=first_name")] + public string? FirstName { get; set; } + + /// + /// Last name of the contact to filter on + /// + [SpeakeasyMetadata("queryParam:name=last_name")] + public string? LastName { get; set; } + + /// + /// Email of the contact to filter on + /// + [SpeakeasyMetadata("queryParam:name=email")] + public string? Email { get; set; } + + /// + /// Phone number of the contact to filter on + /// + [SpeakeasyMetadata("queryParam:name=phone_number")] + public string? PhoneNumber { get; set; } + + /// + /// Unique identifier for the associated company of the contact to filter on + /// + [SpeakeasyMetadata("queryParam:name=company_id")] + public string? CompanyId { get; set; } + + /// + /// Unique identifier for the owner of the contact to filter on + /// + [SpeakeasyMetadata("queryParam:name=owner_id")] + public string? OwnerId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ContactsSort.cs b/src/Apideck/Unify/SDK/Models/Components/ContactsSort.cs new file mode 100644 index 00000000..cd135e08 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ContactsSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class ContactsSort + { + + /// + /// The field on which to sort the Contacts + /// + [SpeakeasyMetadata("queryParam:name=by")] + public ContactsSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ContactsSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/ContactsSortBy.cs new file mode 100644 index 00000000..5e96ee35 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ContactsSortBy.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Contacts + /// + public enum ContactsSortBy + { + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + [JsonProperty("name")] + Name, + [JsonProperty("first_name")] + FirstName, + [JsonProperty("last_name")] + LastName, + [JsonProperty("email")] + Email, + } + + public static class ContactsSortByExtension + { + public static string Value(this ContactsSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ContactsSortBy ToEnum(this string value) + { + foreach(var field in typeof(ContactsSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ContactsSortBy) + { + return (ContactsSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ContactsSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CopyFolderRequest.cs b/src/Apideck/Unify/SDK/Models/Components/CopyFolderRequest.cs new file mode 100644 index 00000000..e40ad424 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CopyFolderRequest.cs @@ -0,0 +1,38 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class CopyFolderRequest + { + + /// + /// The name of the folder. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// The parent folder to create the new file within. This can be an ID or a path depending on the downstream folder. Please see the connector section below to see downstream specific gotchas. + /// + [JsonProperty("parent_folder_id")] + public string ParentFolderId { get; set; } = default!; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Coverage.cs b/src/Apideck/Unify/SDK/Models/Components/Coverage.cs new file mode 100644 index 00000000..fca7f5d2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Coverage.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class Coverage + { + + /// + /// ID of the resource in the Connector's API (downstream) + /// + [JsonProperty("downstream_id")] + public string? DownstreamId { get; set; } + + /// + /// Name of the resource in the Connector's API (downstream) + /// + [JsonProperty("downstream_name")] + public string? DownstreamName { get; set; } + + /// + /// Indicates if pagination (cursor and limit parameters) is supported on the list endpoint of the resource. + /// + [JsonProperty("pagination_supported")] + public bool? PaginationSupported { get; set; } + + [JsonProperty("pagination")] + public PaginationCoverage? Pagination { get; set; } + + /// + /// List of supported operations on the resource. + /// + [JsonProperty("supported_operations")] + public List? SupportedOperations { get; set; } + + /// + /// Supported filters on the list endpoint of the resource. + /// + [JsonProperty("supported_filters")] + public List? SupportedFilters { get; set; } + + /// + /// Supported sorting properties on the list endpoint of the resource. + /// + [JsonProperty("supported_sort_by")] + public List? SupportedSortBy { get; set; } + + /// + /// Supported fields on the detail endpoint. + /// + [JsonProperty("supported_fields")] + public List? SupportedFields { get; set; } + + /// + /// Supported fields on the list endpoint. + /// + [JsonProperty("supported_list_fields")] + public List? SupportedListFields { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateAccountingDepartmentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateAccountingDepartmentResponse.cs new file mode 100644 index 00000000..220d4935 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateAccountingDepartmentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Department + /// + public class CreateAccountingDepartmentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateAccountingLocationResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateAccountingLocationResponse.cs new file mode 100644 index 00000000..e419dbb9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateAccountingLocationResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Location + /// + public class CreateAccountingLocationResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateActivityResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateActivityResponse.cs new file mode 100644 index 00000000..f66f4eec --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateActivityResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Activity created + /// + public class CreateActivityResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateApplicantResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateApplicantResponse.cs new file mode 100644 index 00000000..1e47dd3c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateApplicantResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Applicants + /// + public class CreateApplicantResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateApplicationResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateApplicationResponse.cs new file mode 100644 index 00000000..c7f7c885 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateApplicationResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Applications + /// + public class CreateApplicationResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateBillPaymentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateBillPaymentResponse.cs new file mode 100644 index 00000000..65cab250 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateBillPaymentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Bill Payment created + /// + public class CreateBillPaymentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateBillResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateBillResponse.cs new file mode 100644 index 00000000..eae413cb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateBillResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Bill created + /// + public class CreateBillResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateCallbackState.cs b/src/Apideck/Unify/SDK/Models/Components/CreateCallbackState.cs new file mode 100644 index 00000000..f0082ebe --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateCallbackState.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CreateCallbackState + { + + /// + /// The redirect URI to be used after the connection is created. + /// + [JsonProperty("redirect_uri")] + public string? RedirectUri { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateCallbackStateResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateCallbackStateResponse.cs new file mode 100644 index 00000000..ba55b74d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateCallbackStateResponse.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Callback state created + /// + public class CreateCallbackStateResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public CreateCallbackStateResponseData Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateCallbackStateResponseData.cs b/src/Apideck/Unify/SDK/Models/Components/CreateCallbackStateResponseData.cs new file mode 100644 index 00000000..ffb7c00f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateCallbackStateResponseData.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CreateCallbackStateResponseData + { + + /// + /// Callback state + /// + [JsonProperty("state")] + public string? State { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateCommentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateCommentResponse.cs new file mode 100644 index 00000000..eff8fe6e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateCommentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Create a Comment + /// + public class CreateCommentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateCompanyResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateCompanyResponse.cs new file mode 100644 index 00000000..cf1fa7ba --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateCompanyResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Company created + /// + public class CreateCompanyResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateConnectionResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateConnectionResponse.cs new file mode 100644 index 00000000..0ee05ce2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateConnectionResponse.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Connection created + /// + public class CreateConnectionResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public Connection Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateConsumerResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateConsumerResponse.cs new file mode 100644 index 00000000..d053be08 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateConsumerResponse.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Consumer created + /// + public class CreateConsumerResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public Consumer Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateContactResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateContactResponse.cs new file mode 100644 index 00000000..54cf849d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateContactResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Contact created + /// + public class CreateContactResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateCreditNoteResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateCreditNoteResponse.cs new file mode 100644 index 00000000..9ef6943d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateCreditNoteResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Credit Note created + /// + public class CreateCreditNoteResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateCustomerResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateCustomerResponse.cs new file mode 100644 index 00000000..ec6a7194 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateCustomerResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Customers + /// + public class CreateCustomerResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateDepartmentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateDepartmentResponse.cs new file mode 100644 index 00000000..16581d90 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateDepartmentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Departments + /// + public class CreateDepartmentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateDriveGroupResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateDriveGroupResponse.cs new file mode 100644 index 00000000..dd72ca01 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateDriveGroupResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// DriveGroups + /// + public class CreateDriveGroupResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateDriveResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateDriveResponse.cs new file mode 100644 index 00000000..a3d67b34 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateDriveResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Drives + /// + public class CreateDriveResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateEmployeeResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateEmployeeResponse.cs new file mode 100644 index 00000000..c62c7002 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateEmployeeResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Employees + /// + public class CreateEmployeeResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateExpenseResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateExpenseResponse.cs new file mode 100644 index 00000000..865bd6c0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateExpenseResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Expenses + /// + public class CreateExpenseResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateFolderRequest.cs b/src/Apideck/Unify/SDK/Models/Components/CreateFolderRequest.cs new file mode 100644 index 00000000..81f6314c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateFolderRequest.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class CreateFolderRequest + { + + /// + /// The name of the folder. + /// + [JsonProperty("name")] + public string Name { get; set; } = default!; + + /// + /// Optional description of the folder. + /// + [JsonProperty("description")] + public string? Description { get; set; } + + /// + /// The parent folder to create the new file within. This can be an ID or a path depending on the downstream folder. Please see the connector section below to see downstream specific gotchas. + /// + [JsonProperty("parent_folder_id")] + public string ParentFolderId { get; set; } = default!; + + /// + /// ID of the drive to create the folder in. + /// + [JsonProperty("drive_id")] + public string? DriveId { get; set; } + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateFolderResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateFolderResponse.cs new file mode 100644 index 00000000..b0257fb7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateFolderResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Folders + /// + public class CreateFolderResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateHrisCompanyResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateHrisCompanyResponse.cs new file mode 100644 index 00000000..ac2f947a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateHrisCompanyResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Companies + /// + public class CreateHrisCompanyResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateInvoiceItemResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateInvoiceItemResponse.cs new file mode 100644 index 00000000..9572e561 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateInvoiceItemResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// InvoiceItems + /// + public class CreateInvoiceItemResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateInvoiceResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateInvoiceResponse.cs new file mode 100644 index 00000000..e5a54955 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateInvoiceResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Invoice created + /// + public class CreateInvoiceResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public InvoiceResponse Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateJournalEntryResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateJournalEntryResponse.cs new file mode 100644 index 00000000..5096f958 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateJournalEntryResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// JournalEntries + /// + public class CreateJournalEntryResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateLeadResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateLeadResponse.cs new file mode 100644 index 00000000..e2cf8835 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateLeadResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Lead created + /// + public class CreateLeadResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateLedgerAccountResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateLedgerAccountResponse.cs new file mode 100644 index 00000000..69a2da1c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateLedgerAccountResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// LedgerAccount created + /// + public class CreateLedgerAccountResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateMessageResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateMessageResponse.cs new file mode 100644 index 00000000..ac458e6d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateMessageResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Messages + /// + public class CreateMessageResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateNoteResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateNoteResponse.cs new file mode 100644 index 00000000..9b1a4ac0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateNoteResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Note created + /// + public class CreateNoteResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateOpportunityResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateOpportunityResponse.cs new file mode 100644 index 00000000..28ea62c7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateOpportunityResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Opportunity created + /// + public class CreateOpportunityResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreatePaymentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreatePaymentResponse.cs new file mode 100644 index 00000000..4aae4693 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreatePaymentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Payment created + /// + public class CreatePaymentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreatePipelineResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreatePipelineResponse.cs new file mode 100644 index 00000000..51cf4633 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreatePipelineResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Pipeline created + /// + public class CreatePipelineResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreatePurchaseOrderResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreatePurchaseOrderResponse.cs new file mode 100644 index 00000000..54ed56e9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreatePurchaseOrderResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// PurchaseOrders + /// + public class CreatePurchaseOrderResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateSessionResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateSessionResponse.cs new file mode 100644 index 00000000..ebf51fd6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateSessionResponse.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Session created + /// + public class CreateSessionResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public CreateSessionResponseData Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateSessionResponseData.cs b/src/Apideck/Unify/SDK/Models/Components/CreateSessionResponseData.cs new file mode 100644 index 00000000..9661e4c1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateSessionResponseData.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CreateSessionResponseData + { + + [JsonProperty("session_uri")] + public string SessionUri { get; set; } = default!; + + [JsonProperty("session_token")] + public string SessionToken { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateSharedLinkResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateSharedLinkResponse.cs new file mode 100644 index 00000000..a56eff36 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateSharedLinkResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Shared Links + /// + public class CreateSharedLinkResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateSubsidiaryResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateSubsidiaryResponse.cs new file mode 100644 index 00000000..18f28ae0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateSubsidiaryResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Subsidiaries + /// + public class CreateSubsidiaryResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateSupplierResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateSupplierResponse.cs new file mode 100644 index 00000000..3cccfe9c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateSupplierResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Supplier created + /// + public class CreateSupplierResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateTaxRateResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateTaxRateResponse.cs new file mode 100644 index 00000000..4f52460e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateTaxRateResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// TaxRate created + /// + public class CreateTaxRateResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateTicketResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateTicketResponse.cs new file mode 100644 index 00000000..baa23555 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateTicketResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Create a Ticket + /// + public class CreateTicketResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateTimeOffRequestResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateTimeOffRequestResponse.cs new file mode 100644 index 00000000..39c1025d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateTimeOffRequestResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// TimeOffRequests + /// + public class CreateTimeOffRequestResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateTrackingCategoryResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateTrackingCategoryResponse.cs new file mode 100644 index 00000000..c4b62f3d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateTrackingCategoryResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Tracking category created + /// + public class CreateTrackingCategoryResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateUploadSessionRequest.cs b/src/Apideck/Unify/SDK/Models/Components/CreateUploadSessionRequest.cs new file mode 100644 index 00000000..422286bd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateUploadSessionRequest.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class CreateUploadSessionRequest + { + + /// + /// The name of the file. + /// + [JsonProperty("name")] + public string Name { get; set; } = default!; + + /// + /// The parent folder to create the new file within. This can be an ID or a path depending on the downstream folder. Please see the connector section below to see downstream specific gotchas. + /// + [JsonProperty("parent_folder_id")] + public string ParentFolderId { get; set; } = default!; + + /// + /// ID of the drive to upload to. + /// + [JsonProperty("drive_id")] + public string? DriveId { get; set; } + + /// + /// The size of the file in bytes + /// + [JsonProperty("size", NullValueHandling = NullValueHandling.Include)] + public long? Size { get; set; } + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateUploadSessionResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateUploadSessionResponse.cs new file mode 100644 index 00000000..46639ae0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateUploadSessionResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// UploadSessions + /// + public class CreateUploadSessionResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateUserResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateUserResponse.cs new file mode 100644 index 00000000..6768f279 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateUserResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// User created + /// + public class CreateUserResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateWebhookRequest.cs b/src/Apideck/Unify/SDK/Models/Components/CreateWebhookRequest.cs new file mode 100644 index 00000000..f9f07e9f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateWebhookRequest.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class CreateWebhookRequest + { + + /// + /// A description of the object. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// Name of Apideck Unified API + /// + [JsonProperty("unified_api")] + public UnifiedApiId UnifiedApi { get; set; } = default!; + + /// + /// The status of the webhook. + /// + [JsonProperty("status")] + public Status Status { get; set; } = default!; + + /// + /// The delivery url of the webhook endpoint. + /// + [JsonProperty("delivery_url")] + public string DeliveryUrl { get; set; } = default!; + + /// + /// The list of subscribed events for this webhook. [`*`] indicates that all events are enabled. + /// + [JsonProperty("events")] + public List Events { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreateWebhookResponse.cs b/src/Apideck/Unify/SDK/Models/Components/CreateWebhookResponse.cs new file mode 100644 index 00000000..cea6d260 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreateWebhookResponse.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Webhooks + /// + public class CreateWebhookResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public Models.Components.Webhook Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Credentials.cs b/src/Apideck/Unify/SDK/Models/Components/Credentials.cs new file mode 100644 index 00000000..4552e83e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Credentials.cs @@ -0,0 +1,43 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public class Credentials + { + + /// + /// The refresh token can be used to obtain a new access token. + /// + [JsonProperty("refresh_token")] + public string? RefreshToken { get; set; } = null; + + /// + /// Access token + /// + [JsonProperty("access_token")] + public string? AccessToken { get; set; } + + /// + /// The datetime at which the token was issued. If omitted the token will be queued for refresh. + /// + [JsonProperty("issued_at")] + public DateTime? IssuedAt { get; set; } = null; + + /// + /// The number of seconds until the token expires. If omitted the token will be queued for refresh. + /// + [JsonProperty("expires_in")] + public long? ExpiresIn { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreditNote.cs b/src/Apideck/Unify/SDK/Models/Components/CreditNote.cs new file mode 100644 index 00000000..bacbb281 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreditNote.cs @@ -0,0 +1,207 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class CreditNote + { + + /// + /// Unique identifier representing the entity + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// Credit note number. + /// + [JsonProperty("number")] + public string? Number { get; set; } = null; + + /// + /// The customer this entity is linked to. + /// + [JsonProperty("customer")] + public LinkedCustomer? Customer { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// Amounts are including tax + /// + [JsonProperty("tax_inclusive")] + public bool? TaxInclusive { get; set; } = null; + + /// + /// Sub-total amount, normally before tax. + /// + [JsonProperty("sub_total")] + public double? SubTotal { get; set; } = null; + + /// + /// Amount of transaction + /// + [JsonProperty("total_amount")] + public double TotalAmount { get; set; } = default!; + + /// + /// Total tax amount applied to this invoice. + /// + [JsonProperty("total_tax")] + public double? TotalTax { get; set; } = null; + + /// + /// Applicable tax id/code override if tax is not supplied on a line item basis. + /// + [JsonProperty("tax_code")] + public string? TaxCode { get; set; } = null; + + /// + /// The balance reflecting any payments made against the transaction. + /// + [JsonProperty("balance")] + public double? Balance { get; set; } = null; + + /// + /// Indicates the total credit amount still available to apply towards the payment. + /// + [JsonProperty("remaining_credit")] + public double? RemainingCredit { get; set; } = null; + + /// + /// Status of credit notes + /// + [JsonProperty("status")] + public CreditNoteStatus? Status { get; set; } + + /// + /// Optional reference message ie: Debit remittance detail. + /// + [JsonProperty("reference")] + public string? Reference { get; set; } = null; + + /// + /// Date credit note issued - YYYY:MM::DDThh:mm:ss.sTZD + /// + [JsonProperty("date_issued")] + public DateTime? DateIssued { get; set; } + + /// + /// Date credit note paid - YYYY:MM::DDThh:mm:ss.sTZD + /// + [JsonProperty("date_paid")] + public DateTime? DatePaid { get; set; } = null; + + /// + /// Type of payment + /// + [JsonProperty("type")] + public CreditNoteType? Type { get; set; } + + [JsonProperty("account")] + public LinkedLedgerAccount? Account { get; set; } = null; + + [JsonProperty("line_items")] + public List? LineItems { get; set; } + + [JsonProperty("allocations")] + public List? Allocations { get; set; } + + /// + /// Optional note to be associated with the credit note. + /// + [JsonProperty("note")] + public string? Note { get; set; } = null; + + /// + /// Optional terms to be associated with the credit note. + /// + [JsonProperty("terms")] + public string? Terms { get; set; } = null; + + [JsonProperty("billing_address")] + public Address? BillingAddress { get; set; } + + [JsonProperty("shipping_address")] + public Address? ShippingAddress { get; set; } + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreditNoteInput.cs b/src/Apideck/Unify/SDK/Models/Components/CreditNoteInput.cs new file mode 100644 index 00000000..17fdeeaf --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreditNoteInput.cs @@ -0,0 +1,171 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class CreditNoteInput + { + + /// + /// Credit note number. + /// + [JsonProperty("number")] + public string? Number { get; set; } = null; + + /// + /// The customer this entity is linked to. + /// + [JsonProperty("customer")] + public LinkedCustomerInput? Customer { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// Amounts are including tax + /// + [JsonProperty("tax_inclusive")] + public bool? TaxInclusive { get; set; } = null; + + /// + /// Sub-total amount, normally before tax. + /// + [JsonProperty("sub_total")] + public double? SubTotal { get; set; } = null; + + /// + /// Amount of transaction + /// + [JsonProperty("total_amount")] + public double TotalAmount { get; set; } = default!; + + /// + /// Total tax amount applied to this invoice. + /// + [JsonProperty("total_tax")] + public double? TotalTax { get; set; } = null; + + /// + /// Applicable tax id/code override if tax is not supplied on a line item basis. + /// + [JsonProperty("tax_code")] + public string? TaxCode { get; set; } = null; + + /// + /// The balance reflecting any payments made against the transaction. + /// + [JsonProperty("balance")] + public double? Balance { get; set; } = null; + + /// + /// Indicates the total credit amount still available to apply towards the payment. + /// + [JsonProperty("remaining_credit")] + public double? RemainingCredit { get; set; } = null; + + /// + /// Status of credit notes + /// + [JsonProperty("status")] + public CreditNoteStatus? Status { get; set; } + + /// + /// Optional reference message ie: Debit remittance detail. + /// + [JsonProperty("reference")] + public string? Reference { get; set; } = null; + + /// + /// Date credit note issued - YYYY:MM::DDThh:mm:ss.sTZD + /// + [JsonProperty("date_issued")] + public DateTime? DateIssued { get; set; } + + /// + /// Date credit note paid - YYYY:MM::DDThh:mm:ss.sTZD + /// + [JsonProperty("date_paid")] + public DateTime? DatePaid { get; set; } = null; + + /// + /// Type of payment + /// + [JsonProperty("type")] + public CreditNoteType? Type { get; set; } + + [JsonProperty("account")] + public LinkedLedgerAccountInput? Account { get; set; } = null; + + [JsonProperty("line_items")] + public List? LineItems { get; set; } + + [JsonProperty("allocations")] + public List? Allocations { get; set; } + + /// + /// Optional note to be associated with the credit note. + /// + [JsonProperty("note")] + public string? Note { get; set; } = null; + + /// + /// Optional terms to be associated with the credit note. + /// + [JsonProperty("terms")] + public string? Terms { get; set; } = null; + + [JsonProperty("billing_address")] + public Address? BillingAddress { get; set; } + + [JsonProperty("shipping_address")] + public Address? ShippingAddress { get; set; } + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreditNoteStatus.cs b/src/Apideck/Unify/SDK/Models/Components/CreditNoteStatus.cs new file mode 100644 index 00000000..4f21c142 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreditNoteStatus.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Status of credit notes + /// + public enum CreditNoteStatus + { + [JsonProperty("draft")] + Draft, + [JsonProperty("authorised")] + Authorised, + [JsonProperty("paid")] + Paid, + [JsonProperty("voided")] + Voided, + [JsonProperty("deleted")] + Deleted, + } + + public static class CreditNoteStatusExtension + { + public static string Value(this CreditNoteStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static CreditNoteStatus ToEnum(this string value) + { + foreach(var field in typeof(CreditNoteStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is CreditNoteStatus) + { + return (CreditNoteStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum CreditNoteStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreditNoteType.cs b/src/Apideck/Unify/SDK/Models/Components/CreditNoteType.cs new file mode 100644 index 00000000..1dbfbbca --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreditNoteType.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Type of payment + /// + public enum CreditNoteType + { + [JsonProperty("accounts_receivable_credit")] + AccountsReceivableCredit, + [JsonProperty("accounts_payable_credit")] + AccountsPayableCredit, + } + + public static class CreditNoteTypeExtension + { + public static string Value(this CreditNoteType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static CreditNoteType ToEnum(this string value) + { + foreach(var field in typeof(CreditNoteType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is CreditNoteType) + { + return (CreditNoteType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum CreditNoteType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreditNotesFilter.cs b/src/Apideck/Unify/SDK/Models/Components/CreditNotesFilter.cs new file mode 100644 index 00000000..53d3ceeb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreditNotesFilter.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using System; + + public class CreditNotesFilter + { + + [SpeakeasyMetadata("queryParam:name=updated_since")] + public DateTime? UpdatedSince { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreditNotesSort.cs b/src/Apideck/Unify/SDK/Models/Components/CreditNotesSort.cs new file mode 100644 index 00000000..61aa2a3c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreditNotesSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CreditNotesSort + { + + /// + /// The field on which to sort the Customers + /// + [SpeakeasyMetadata("queryParam:name=by")] + public CreditNotesSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CreditNotesSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/CreditNotesSortBy.cs new file mode 100644 index 00000000..44877d30 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CreditNotesSortBy.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Customers + /// + public enum CreditNotesSortBy + { + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + } + + public static class CreditNotesSortByExtension + { + public static string Value(this CreditNotesSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static CreditNotesSortBy ToEnum(this string value) + { + foreach(var field in typeof(CreditNotesSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is CreditNotesSortBy) + { + return (CreditNotesSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum CreditNotesSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Currency.cs b/src/Apideck/Unify/SDK/Models/Components/Currency.cs new file mode 100644 index 00000000..85afac86 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Currency.cs @@ -0,0 +1,422 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + public enum Currency + { + [JsonProperty("UNKNOWN_CURRENCY")] + UnknownCurrency, + [JsonProperty("AED")] + Aed, + [JsonProperty("AFN")] + Afn, + [JsonProperty("ALL")] + All, + [JsonProperty("AMD")] + Amd, + [JsonProperty("ANG")] + Ang, + [JsonProperty("AOA")] + Aoa, + [JsonProperty("ARS")] + Ars, + [JsonProperty("AUD")] + Aud, + [JsonProperty("AWG")] + Awg, + [JsonProperty("AZN")] + Azn, + [JsonProperty("BAM")] + Bam, + [JsonProperty("BBD")] + Bbd, + [JsonProperty("BDT")] + Bdt, + [JsonProperty("BGN")] + Bgn, + [JsonProperty("BHD")] + Bhd, + [JsonProperty("BIF")] + Bif, + [JsonProperty("BMD")] + Bmd, + [JsonProperty("BND")] + Bnd, + [JsonProperty("BOB")] + Bob, + [JsonProperty("BOV")] + Bov, + [JsonProperty("BRL")] + Brl, + [JsonProperty("BSD")] + Bsd, + [JsonProperty("BTN")] + Btn, + [JsonProperty("BWP")] + Bwp, + [JsonProperty("BYR")] + Byr, + [JsonProperty("BZD")] + Bzd, + [JsonProperty("CAD")] + Cad, + [JsonProperty("CDF")] + Cdf, + [JsonProperty("CHE")] + Che, + [JsonProperty("CHF")] + Chf, + [JsonProperty("CHW")] + Chw, + [JsonProperty("CLF")] + Clf, + [JsonProperty("CLP")] + Clp, + [JsonProperty("CNY")] + Cny, + [JsonProperty("COP")] + Cop, + [JsonProperty("COU")] + Cou, + [JsonProperty("CRC")] + Crc, + [JsonProperty("CUC")] + Cuc, + [JsonProperty("CUP")] + Cup, + [JsonProperty("CVE")] + Cve, + [JsonProperty("CZK")] + Czk, + [JsonProperty("DJF")] + Djf, + [JsonProperty("DKK")] + Dkk, + [JsonProperty("DOP")] + Dop, + [JsonProperty("DZD")] + Dzd, + [JsonProperty("EGP")] + Egp, + [JsonProperty("ERN")] + Ern, + [JsonProperty("ETB")] + Etb, + [JsonProperty("EUR")] + Eur, + [JsonProperty("FJD")] + Fjd, + [JsonProperty("FKP")] + Fkp, + [JsonProperty("GBP")] + Gbp, + [JsonProperty("GEL")] + Gel, + [JsonProperty("GHS")] + Ghs, + [JsonProperty("GIP")] + Gip, + [JsonProperty("GMD")] + Gmd, + [JsonProperty("GNF")] + Gnf, + [JsonProperty("GTQ")] + Gtq, + [JsonProperty("GYD")] + Gyd, + [JsonProperty("HKD")] + Hkd, + [JsonProperty("HNL")] + Hnl, + [JsonProperty("HRK")] + Hrk, + [JsonProperty("HTG")] + Htg, + [JsonProperty("HUF")] + Huf, + [JsonProperty("IDR")] + Idr, + [JsonProperty("ILS")] + Ils, + [JsonProperty("INR")] + Inr, + [JsonProperty("IQD")] + Iqd, + [JsonProperty("IRR")] + Irr, + [JsonProperty("ISK")] + Isk, + [JsonProperty("JMD")] + Jmd, + [JsonProperty("JOD")] + Jod, + [JsonProperty("JPY")] + Jpy, + [JsonProperty("KES")] + Kes, + [JsonProperty("KGS")] + Kgs, + [JsonProperty("KHR")] + Khr, + [JsonProperty("KMF")] + Kmf, + [JsonProperty("KPW")] + Kpw, + [JsonProperty("KRW")] + Krw, + [JsonProperty("KWD")] + Kwd, + [JsonProperty("KYD")] + Kyd, + [JsonProperty("KZT")] + Kzt, + [JsonProperty("LAK")] + Lak, + [JsonProperty("LBP")] + Lbp, + [JsonProperty("LKR")] + Lkr, + [JsonProperty("LRD")] + Lrd, + [JsonProperty("LSL")] + Lsl, + [JsonProperty("LTL")] + Ltl, + [JsonProperty("LVL")] + Lvl, + [JsonProperty("LYD")] + Lyd, + [JsonProperty("MAD")] + Mad, + [JsonProperty("MDL")] + Mdl, + [JsonProperty("MGA")] + Mga, + [JsonProperty("MKD")] + Mkd, + [JsonProperty("MMK")] + Mmk, + [JsonProperty("MNT")] + Mnt, + [JsonProperty("MOP")] + Mop, + [JsonProperty("MRO")] + Mro, + [JsonProperty("MUR")] + Mur, + [JsonProperty("MVR")] + Mvr, + [JsonProperty("MWK")] + Mwk, + [JsonProperty("MXN")] + Mxn, + [JsonProperty("MXV")] + Mxv, + [JsonProperty("MYR")] + Myr, + [JsonProperty("MZN")] + Mzn, + [JsonProperty("NAD")] + Nad, + [JsonProperty("NGN")] + Ngn, + [JsonProperty("NIO")] + Nio, + [JsonProperty("NOK")] + Nok, + [JsonProperty("NPR")] + Npr, + [JsonProperty("NZD")] + Nzd, + [JsonProperty("OMR")] + Omr, + [JsonProperty("PAB")] + Pab, + [JsonProperty("PEN")] + Pen, + [JsonProperty("PGK")] + Pgk, + [JsonProperty("PHP")] + Php, + [JsonProperty("PKR")] + Pkr, + [JsonProperty("PLN")] + Pln, + [JsonProperty("PYG")] + Pyg, + [JsonProperty("QAR")] + Qar, + [JsonProperty("RON")] + Ron, + [JsonProperty("RSD")] + Rsd, + [JsonProperty("RUB")] + Rub, + [JsonProperty("RWF")] + Rwf, + [JsonProperty("SAR")] + Sar, + [JsonProperty("SBD")] + Sbd, + [JsonProperty("SCR")] + Scr, + [JsonProperty("SDG")] + Sdg, + [JsonProperty("SEK")] + Sek, + [JsonProperty("SGD")] + Sgd, + [JsonProperty("SHP")] + Shp, + [JsonProperty("SLL")] + Sll, + [JsonProperty("SOS")] + Sos, + [JsonProperty("SRD")] + Srd, + [JsonProperty("SSP")] + Ssp, + [JsonProperty("STD")] + Std, + [JsonProperty("SVC")] + Svc, + [JsonProperty("SYP")] + Syp, + [JsonProperty("SZL")] + Szl, + [JsonProperty("THB")] + Thb, + [JsonProperty("TJS")] + Tjs, + [JsonProperty("TMT")] + Tmt, + [JsonProperty("TND")] + Tnd, + [JsonProperty("TOP")] + Top, + [JsonProperty("TRC")] + Trc, + [JsonProperty("TRY")] + Try, + [JsonProperty("TTD")] + Ttd, + [JsonProperty("TWD")] + Twd, + [JsonProperty("TZS")] + Tzs, + [JsonProperty("UAH")] + Uah, + [JsonProperty("UGX")] + Ugx, + [JsonProperty("USD")] + Usd, + [JsonProperty("USN")] + Usn, + [JsonProperty("USS")] + Uss, + [JsonProperty("UYI")] + Uyi, + [JsonProperty("UYU")] + Uyu, + [JsonProperty("UZS")] + Uzs, + [JsonProperty("VEF")] + Vef, + [JsonProperty("VND")] + Vnd, + [JsonProperty("VUV")] + Vuv, + [JsonProperty("WST")] + Wst, + [JsonProperty("XAF")] + Xaf, + [JsonProperty("XAG")] + Xag, + [JsonProperty("XAU")] + Xau, + [JsonProperty("XBA")] + Xba, + [JsonProperty("XBB")] + Xbb, + [JsonProperty("XBC")] + Xbc, + [JsonProperty("XBD")] + Xbd, + [JsonProperty("XCD")] + Xcd, + [JsonProperty("XDR")] + Xdr, + [JsonProperty("XOF")] + Xof, + [JsonProperty("XPD")] + Xpd, + [JsonProperty("XPF")] + Xpf, + [JsonProperty("XPT")] + Xpt, + [JsonProperty("XTS")] + Xts, + [JsonProperty("XXX")] + Xxx, + [JsonProperty("YER")] + Yer, + [JsonProperty("ZAR")] + Zar, + [JsonProperty("ZMK")] + Zmk, + [JsonProperty("ZMW")] + Zmw, + [JsonProperty("BTC")] + Btc, + [JsonProperty("ETH")] + Eth, + } + + public static class CurrencyExtension + { + public static string Value(this Currency value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static Currency ToEnum(this string value) + { + foreach(var field in typeof(Currency).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is Currency) + { + return (Currency)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum Currency"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Cursors.cs b/src/Apideck/Unify/SDK/Models/Components/Cursors.cs new file mode 100644 index 00000000..7af521fa --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Cursors.cs @@ -0,0 +1,39 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Cursors to navigate to previous or next pages through the API + /// + public class Cursors + { + + /// + /// Cursor to navigate to the previous page of results through the API + /// + [JsonProperty("previous")] + public string? Previous { get; set; } = null; + + /// + /// Cursor to navigate to the current page of results through the API + /// + [JsonProperty("current")] + public string? Current { get; set; } = null; + + /// + /// Cursor to navigate to the next page of results through the API + /// + [JsonProperty("next")] + public string? Next { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CustomField.cs b/src/Apideck/Unify/SDK/Models/Components/CustomField.cs new file mode 100644 index 00000000..7b429d47 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CustomField.cs @@ -0,0 +1,40 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CustomField + { + + /// + /// Unique identifier for the custom field. + /// + [JsonProperty("id", NullValueHandling = NullValueHandling.Include)] + public string? Id { get; set; } + + /// + /// Name of the custom field. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// More information about the custom field + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + [JsonProperty("value")] + public Value? Value { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CustomFieldFinder.cs b/src/Apideck/Unify/SDK/Models/Components/CustomFieldFinder.cs new file mode 100644 index 00000000..c1d0dac2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CustomFieldFinder.cs @@ -0,0 +1,48 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CustomFieldFinder + { + + /// + /// Custom Field ID + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Custom Field name to use as a label if provided + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// More information about the custom field + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// Custom Field value + /// + [JsonProperty("value")] + public object? Value { get; set; } + + /// + /// JSONPath finder for retrieving this value when mapping a response payload from downstream + /// + [JsonProperty("finder")] + public string? Finder { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CustomMapping.cs b/src/Apideck/Unify/SDK/Models/Components/CustomMapping.cs new file mode 100644 index 00000000..ee391580 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CustomMapping.cs @@ -0,0 +1,72 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CustomMapping + { + + /// + /// Target Field ID + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Target Field name to use as a label + /// + [JsonProperty("label")] + public string? Label { get; set; } + + /// + /// Target Field description + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// Target Field Mapping value + /// + [JsonProperty("value")] + public string? Value { get; set; } + + /// + /// Target Field Key + /// + [JsonProperty("key")] + public string? Key { get; set; } + + /// + /// Target Field Mapping is required + /// + [JsonProperty("required")] + public bool? Required { get; set; } + + /// + /// This mapping represents a finder for a custom field + /// + [JsonProperty("custom_field")] + public bool? CustomField { get; set; } + + /// + /// Consumer ID + /// + [JsonProperty("consumer_id")] + public string? ConsumerId { get; set; } = null; + + /// + /// Target Field Mapping example value from downstream + /// + [JsonProperty("example")] + public string? Example { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CustomMappingInput.cs b/src/Apideck/Unify/SDK/Models/Components/CustomMappingInput.cs new file mode 100644 index 00000000..f0f97a50 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CustomMappingInput.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CustomMappingInput + { + + /// + /// Target Field Mapping value + /// + [JsonProperty("value")] + public string? Value { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CustomMappings.cs b/src/Apideck/Unify/SDK/Models/Components/CustomMappings.cs new file mode 100644 index 00000000..5bff5567 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CustomMappings.cs @@ -0,0 +1,20 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + public class CustomMappings + { + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Customer.cs b/src/Apideck/Unify/SDK/Models/Components/Customer.cs new file mode 100644 index 00000000..6a57963f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Customer.cs @@ -0,0 +1,198 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class Customer + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The third-party API ID of original entity + /// + [JsonProperty("downstream_id")] + public string? DownstreamId { get; set; } = null; + + /// + /// Display ID + /// + [JsonProperty("display_id")] + public string? DisplayId { get; set; } = null; + + /// + /// Display name + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + /// + /// The name of the company. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The job title of the person. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// The first name of the person. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// Middle name of the person. + /// + [JsonProperty("middle_name")] + public string? MiddleName { get; set; } = null; + + /// + /// The last name of the person. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + [JsonProperty("suffix")] + public string? Suffix { get; set; } = null; + + /// + /// Is this an individual or business customer + /// + [JsonProperty("individual")] + public bool? Individual { get; set; } = null; + + /// + /// If true, indicates this is a Project. + /// + [JsonProperty("project")] + public bool? Project { get; set; } = null; + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("websites")] + public List? Websites { get; set; } + + [JsonProperty("bank_accounts")] + public List? BankAccounts { get; set; } + + /// + /// Some notes about this customer + /// + [JsonProperty("notes")] + public string? Notes { get; set; } = null; + + [JsonProperty("tax_rate")] + public LinkedTaxRate? TaxRate { get; set; } + + [JsonProperty("tax_number")] + public string? TaxNumber { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + [JsonProperty("account")] + public LinkedLedgerAccount? Account { get; set; } = null; + + /// + /// The parent customer this entity is linked to. + /// + [JsonProperty("parent")] + public LinkedParentCustomer? Parent { get; set; } = null; + + /// + /// Customer status + /// + [JsonProperty("status")] + public CustomerStatusStatus? Status { get; set; } = null; + + /// + /// Payment method used for the transaction, such as cash, credit card, bank transfer, or check + /// + [JsonProperty("payment_method")] + public string? PaymentMethod { get; set; } = null; + + /// + /// The channel through which the transaction is processed. + /// + [JsonProperty("channel")] + public string? Channel { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CustomerInput.cs b/src/Apideck/Unify/SDK/Models/Components/CustomerInput.cs new file mode 100644 index 00000000..b49a705f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CustomerInput.cs @@ -0,0 +1,155 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class CustomerInput + { + + /// + /// Display ID + /// + [JsonProperty("display_id")] + public string? DisplayId { get; set; } = null; + + /// + /// Display name + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + /// + /// The name of the company. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The job title of the person. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// The first name of the person. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// Middle name of the person. + /// + [JsonProperty("middle_name")] + public string? MiddleName { get; set; } = null; + + /// + /// The last name of the person. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + [JsonProperty("suffix")] + public string? Suffix { get; set; } = null; + + /// + /// Is this an individual or business customer + /// + [JsonProperty("individual")] + public bool? Individual { get; set; } = null; + + /// + /// If true, indicates this is a Project. + /// + [JsonProperty("project")] + public bool? Project { get; set; } = null; + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("websites")] + public List? Websites { get; set; } + + [JsonProperty("bank_accounts")] + public List? BankAccounts { get; set; } + + /// + /// Some notes about this customer + /// + [JsonProperty("notes")] + public string? Notes { get; set; } = null; + + [JsonProperty("tax_rate")] + public LinkedTaxRateInput? TaxRate { get; set; } + + [JsonProperty("tax_number")] + public string? TaxNumber { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + [JsonProperty("account")] + public LinkedLedgerAccountInput? Account { get; set; } = null; + + /// + /// The parent customer this entity is linked to. + /// + [JsonProperty("parent")] + public LinkedParentCustomer? Parent { get; set; } = null; + + /// + /// Customer status + /// + [JsonProperty("status")] + public CustomerStatusStatus? Status { get; set; } = null; + + /// + /// Payment method used for the transaction, such as cash, credit card, bank transfer, or check + /// + [JsonProperty("payment_method")] + public string? PaymentMethod { get; set; } = null; + + /// + /// The channel through which the transaction is processed. + /// + [JsonProperty("channel")] + public string? Channel { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CustomerStatus.cs b/src/Apideck/Unify/SDK/Models/Components/CustomerStatus.cs new file mode 100644 index 00000000..3839d506 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CustomerStatus.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The current status of the customer + /// + public enum CustomerStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("archived")] + Archived, + } + + public static class CustomerStatusExtension + { + public static string Value(this CustomerStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static CustomerStatus ToEnum(this string value) + { + foreach(var field in typeof(CustomerStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is CustomerStatus) + { + return (CustomerStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum CustomerStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CustomerStatusStatus.cs b/src/Apideck/Unify/SDK/Models/Components/CustomerStatusStatus.cs new file mode 100644 index 00000000..d9d053ba --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CustomerStatusStatus.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Customer status + /// + public enum CustomerStatusStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("inactive")] + Inactive, + [JsonProperty("archived")] + Archived, + [JsonProperty("gdpr-erasure-request")] + GdprErasureRequest, + [JsonProperty("unknown")] + Unknown, + } + + public static class CustomerStatusStatusExtension + { + public static string Value(this CustomerStatusStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static CustomerStatusStatus ToEnum(this string value) + { + foreach(var field in typeof(CustomerStatusStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is CustomerStatusStatus) + { + return (CustomerStatusStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum CustomerStatusStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CustomersFilter.cs b/src/Apideck/Unify/SDK/Models/Components/CustomersFilter.cs new file mode 100644 index 00000000..bca84739 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CustomersFilter.cs @@ -0,0 +1,58 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System; + + public class CustomersFilter + { + + /// + /// Company Name of customer to search for + /// + [SpeakeasyMetadata("queryParam:name=company_name")] + public string? CompanyName { get; set; } + + /// + /// Display Name of customer to search for + /// + [SpeakeasyMetadata("queryParam:name=display_name")] + public string? DisplayName { get; set; } + + /// + /// First name of customer to search for + /// + [SpeakeasyMetadata("queryParam:name=first_name")] + public string? FirstName { get; set; } + + /// + /// Last name of customer to search for + /// + [SpeakeasyMetadata("queryParam:name=last_name")] + public string? LastName { get; set; } + + /// + /// Email of customer to search for + /// + [SpeakeasyMetadata("queryParam:name=email")] + public string? Email { get; set; } + + /// + /// Status of customer to filter on + /// + [SpeakeasyMetadata("queryParam:name=status")] + public CustomersFilterStatus? Status { get; set; } = null; + + [SpeakeasyMetadata("queryParam:name=updated_since")] + public DateTime? UpdatedSince { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CustomersFilterStatus.cs b/src/Apideck/Unify/SDK/Models/Components/CustomersFilterStatus.cs new file mode 100644 index 00000000..34e1a10e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CustomersFilterStatus.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Status of customer to filter on + /// + public enum CustomersFilterStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("inactive")] + Inactive, + [JsonProperty("archived")] + Archived, + [JsonProperty("all")] + All, + } + + public static class CustomersFilterStatusExtension + { + public static string Value(this CustomersFilterStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static CustomersFilterStatus ToEnum(this string value) + { + foreach(var field in typeof(CustomersFilterStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is CustomersFilterStatus) + { + return (CustomersFilterStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum CustomersFilterStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CustomersSort.cs b/src/Apideck/Unify/SDK/Models/Components/CustomersSort.cs new file mode 100644 index 00000000..e8534112 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CustomersSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CustomersSort + { + + /// + /// The field on which to sort the Customers + /// + [SpeakeasyMetadata("queryParam:name=by")] + public CustomersSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/CustomersSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/CustomersSortBy.cs new file mode 100644 index 00000000..bf7f5329 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/CustomersSortBy.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Customers + /// + public enum CustomersSortBy + { + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + } + + public static class CustomersSortByExtension + { + public static string Value(this CustomersSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static CustomersSortBy ToEnum(this string value) + { + foreach(var field in typeof(CustomersSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is CustomersSortBy) + { + return (CustomersSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum CustomersSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Data.cs b/src/Apideck/Unify/SDK/Models/Components/Data.cs new file mode 100644 index 00000000..fedc930f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Data.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class Data + { + + [JsonProperty("consumer_id")] + public string? ConsumerId { get; set; } + + [JsonProperty("application_id")] + public string? ApplicationId { get; set; } + + /// + /// The metadata of the consumer. This is used to display the consumer in the sidebar. This is optional, but recommended. + /// + [JsonProperty("metadata")] + public ConsumerMetadata? Metadata { get; set; } + + [JsonProperty("aggregated_request_count")] + public double? AggregatedRequestCount { get; set; } + + [JsonProperty("request_counts")] + public RequestCountAllocation? RequestCounts { get; set; } + + [JsonProperty("created")] + public string? Created { get; set; } + + [JsonProperty("modified")] + public string? Modified { get; set; } + + [JsonProperty("request_count_updated")] + public string? RequestCountUpdated { get; set; } + + [JsonProperty("services")] + public List? Services { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Deduction.cs b/src/Apideck/Unify/SDK/Models/Components/Deduction.cs new file mode 100644 index 00000000..f2822bf3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Deduction.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Deduction + { + + /// + /// The name of the deduction. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// The amount deducted. + /// + [JsonProperty("amount")] + public double? Amount { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Defaults.cs b/src/Apideck/Unify/SDK/Models/Components/Defaults.cs new file mode 100644 index 00000000..9d6ec687 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Defaults.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class Defaults + { + + [JsonProperty("target")] + public Target? Target { get; set; } + + [JsonProperty("id")] + public string? Id { get; set; } + + [JsonProperty("options")] + public List? Options { get; set; } + + [JsonProperty("value")] + public ConnectionValue? Value { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteAccountingDepartmentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteAccountingDepartmentResponse.cs new file mode 100644 index 00000000..a7a0f005 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteAccountingDepartmentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Department deleted + /// + public class DeleteAccountingDepartmentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteAccountingLocationResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteAccountingLocationResponse.cs new file mode 100644 index 00000000..1ace4100 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteAccountingLocationResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Location deleted + /// + public class DeleteAccountingLocationResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteActivityResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteActivityResponse.cs new file mode 100644 index 00000000..3b6e1bfb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteActivityResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Activity deleted + /// + public class DeleteActivityResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteApplicantResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteApplicantResponse.cs new file mode 100644 index 00000000..3fdbc66c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteApplicantResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Applicants + /// + public class DeleteApplicantResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteApplicationResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteApplicationResponse.cs new file mode 100644 index 00000000..d00225fb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteApplicationResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Applications + /// + public class DeleteApplicationResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteAttachmentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteAttachmentResponse.cs new file mode 100644 index 00000000..c158e2a3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteAttachmentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Attachments + /// + public class DeleteAttachmentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteBillPaymentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteBillPaymentResponse.cs new file mode 100644 index 00000000..17a1e242 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteBillPaymentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Bill Payment deleted + /// + public class DeleteBillPaymentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteBillResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteBillResponse.cs new file mode 100644 index 00000000..2f97fddf --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteBillResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Bill deleted + /// + public class DeleteBillResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteCommentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteCommentResponse.cs new file mode 100644 index 00000000..01af5ff1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteCommentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Delete a Comment + /// + public class DeleteCommentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteCompanyResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteCompanyResponse.cs new file mode 100644 index 00000000..bc268478 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteCompanyResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Company deleted + /// + public class DeleteCompanyResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteConsumerResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteConsumerResponse.cs new file mode 100644 index 00000000..6dd9f629 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteConsumerResponse.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Consumer deleted + /// + public class DeleteConsumerResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public DeleteConsumerResponseData Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteConsumerResponseData.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteConsumerResponseData.cs new file mode 100644 index 00000000..37211e6f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteConsumerResponseData.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class DeleteConsumerResponseData + { + + /// + /// Unique consumer identifier. You can freely choose a consumer ID yourself. Most of the time, this is an ID of your internal data model that represents a user or account in your system (for example account:12345). If the consumer doesn't exist yet, Vault will upsert a consumer based on your ID. + /// + [JsonProperty("consumer_id")] + public string? ConsumerId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteContactResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteContactResponse.cs new file mode 100644 index 00000000..681378ae --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteContactResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Contact deleted + /// + public class DeleteContactResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteCreditNoteResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteCreditNoteResponse.cs new file mode 100644 index 00000000..935896ae --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteCreditNoteResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Credit Note deleted + /// + public class DeleteCreditNoteResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteCustomerResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteCustomerResponse.cs new file mode 100644 index 00000000..6c6e8e4e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteCustomerResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Customers + /// + public class DeleteCustomerResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteDepartmentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteDepartmentResponse.cs new file mode 100644 index 00000000..52af2608 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteDepartmentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Departments + /// + public class DeleteDepartmentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteDriveGroupResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteDriveGroupResponse.cs new file mode 100644 index 00000000..9eec149b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteDriveGroupResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// DriveGroups + /// + public class DeleteDriveGroupResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteDriveResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteDriveResponse.cs new file mode 100644 index 00000000..397495eb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteDriveResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Drives + /// + public class DeleteDriveResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteEmployeeResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteEmployeeResponse.cs new file mode 100644 index 00000000..e4644c8b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteEmployeeResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Employees + /// + public class DeleteEmployeeResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteExpenseResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteExpenseResponse.cs new file mode 100644 index 00000000..bb82fc52 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteExpenseResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Expenses + /// + public class DeleteExpenseResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteFileResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteFileResponse.cs new file mode 100644 index 00000000..48856863 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteFileResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Files + /// + public class DeleteFileResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteFolderResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteFolderResponse.cs new file mode 100644 index 00000000..9d728059 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteFolderResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Folders + /// + public class DeleteFolderResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteHrisCompanyResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteHrisCompanyResponse.cs new file mode 100644 index 00000000..e3297a32 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteHrisCompanyResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Companies + /// + public class DeleteHrisCompanyResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteInvoiceResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteInvoiceResponse.cs new file mode 100644 index 00000000..050072a6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteInvoiceResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Invoice deleted + /// + public class DeleteInvoiceResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public InvoiceResponse Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteJournalEntryResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteJournalEntryResponse.cs new file mode 100644 index 00000000..329c1bd7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteJournalEntryResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// JournalEntries + /// + public class DeleteJournalEntryResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteLeadResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteLeadResponse.cs new file mode 100644 index 00000000..b038713b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteLeadResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Lead deleted + /// + public class DeleteLeadResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteLedgerAccountResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteLedgerAccountResponse.cs new file mode 100644 index 00000000..332be66b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteLedgerAccountResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// LedgerAccount deleted + /// + public class DeleteLedgerAccountResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteMessageResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteMessageResponse.cs new file mode 100644 index 00000000..8dfc827f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteMessageResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Messages + /// + public class DeleteMessageResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteNoteResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteNoteResponse.cs new file mode 100644 index 00000000..95e9dd91 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteNoteResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Note deleted + /// + public class DeleteNoteResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteOpportunityResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteOpportunityResponse.cs new file mode 100644 index 00000000..27d49336 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteOpportunityResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Opportunity deleted + /// + public class DeleteOpportunityResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeletePaymentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeletePaymentResponse.cs new file mode 100644 index 00000000..91272fa1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeletePaymentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Payment deleted + /// + public class DeletePaymentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeletePipelineResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeletePipelineResponse.cs new file mode 100644 index 00000000..d199cd5b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeletePipelineResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Pipeline deleted + /// + public class DeletePipelineResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeletePurchaseOrderResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeletePurchaseOrderResponse.cs new file mode 100644 index 00000000..7f1ce471 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeletePurchaseOrderResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// PurchaseOrders + /// + public class DeletePurchaseOrderResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteSharedLinkResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteSharedLinkResponse.cs new file mode 100644 index 00000000..191698fe --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteSharedLinkResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Shared Links + /// + public class DeleteSharedLinkResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteSubsidiaryResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteSubsidiaryResponse.cs new file mode 100644 index 00000000..5c91c344 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteSubsidiaryResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Subsidiarys + /// + public class DeleteSubsidiaryResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteSupplierResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteSupplierResponse.cs new file mode 100644 index 00000000..33151678 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteSupplierResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Supplier deleted + /// + public class DeleteSupplierResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteTaxRateResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteTaxRateResponse.cs new file mode 100644 index 00000000..3f13459b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteTaxRateResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// TaxRates deleted + /// + public class DeleteTaxRateResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteTicketResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteTicketResponse.cs new file mode 100644 index 00000000..6daa3509 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteTicketResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Delete a Ticket + /// + public class DeleteTicketResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteTimeOffRequestResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteTimeOffRequestResponse.cs new file mode 100644 index 00000000..069a5c45 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteTimeOffRequestResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// TimeOffRequests + /// + public class DeleteTimeOffRequestResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteTrackingCategoryResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteTrackingCategoryResponse.cs new file mode 100644 index 00000000..434c9934 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteTrackingCategoryResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Tracking category deleted + /// + public class DeleteTrackingCategoryResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteUploadSessionResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteUploadSessionResponse.cs new file mode 100644 index 00000000..4f40eadc --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteUploadSessionResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// UploadSessions + /// + public class DeleteUploadSessionResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteUserResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteUserResponse.cs new file mode 100644 index 00000000..0ddff359 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteUserResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// User deleted + /// + public class DeleteUserResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeleteWebhookResponse.cs b/src/Apideck/Unify/SDK/Models/Components/DeleteWebhookResponse.cs new file mode 100644 index 00000000..0e5cbf6c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeleteWebhookResponse.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Webhooks + /// + public class DeleteWebhookResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public Models.Components.Webhook Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Department.cs b/src/Apideck/Unify/SDK/Models/Components/Department.cs new file mode 100644 index 00000000..32e322fe --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Department.cs @@ -0,0 +1,81 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class Department + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Parent ID + /// + [JsonProperty("parent_id")] + public string? ParentId { get; set; } = null; + + /// + /// Department name + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + [JsonProperty("code")] + public string? Code { get; set; } = null; + + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DepartmentInput.cs b/src/Apideck/Unify/SDK/Models/Components/DepartmentInput.cs new file mode 100644 index 00000000..422be452 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DepartmentInput.cs @@ -0,0 +1,38 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class DepartmentInput + { + + /// + /// Department name + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + [JsonProperty("code")] + public string? Code { get; set; } = null; + + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DepartmentStatus.cs b/src/Apideck/Unify/SDK/Models/Components/DepartmentStatus.cs new file mode 100644 index 00000000..0d4aae02 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DepartmentStatus.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Based on the status some functionality is enabled or disabled. + /// + public enum DepartmentStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("inactive")] + Inactive, + } + + public static class DepartmentStatusExtension + { + public static string Value(this DepartmentStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static DepartmentStatus ToEnum(this string value) + { + foreach(var field in typeof(DepartmentStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is DepartmentStatus) + { + return (DepartmentStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum DepartmentStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeprecatedLinkedSupplier.cs b/src/Apideck/Unify/SDK/Models/Components/DeprecatedLinkedSupplier.cs new file mode 100644 index 00000000..a18a59c3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeprecatedLinkedSupplier.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The supplier this entity is linked to. + /// [Obsolete("This will be removed in a future release, please migrate away from it as soon as possible.")] + public class DeprecatedLinkedSupplier + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The display ID of the supplier. + /// + [JsonProperty("display_id")] + public string? DisplayId { get; set; } = null; + + /// + /// The display name of the supplier. + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + /// + /// The company name of the supplier. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + [JsonProperty("address")] + public Address? Address { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeprecatedLinkedSupplierInput.cs b/src/Apideck/Unify/SDK/Models/Components/DeprecatedLinkedSupplierInput.cs new file mode 100644 index 00000000..73da62a5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeprecatedLinkedSupplierInput.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The supplier this entity is linked to. + /// [Obsolete("This will be removed in a future release, please migrate away from it as soon as possible.")] + public class DeprecatedLinkedSupplierInput + { + + /// + /// The display name of the supplier. + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + [JsonProperty("address")] + public Address? Address { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DeprecatedLinkedTrackingCategory.cs b/src/Apideck/Unify/SDK/Models/Components/DeprecatedLinkedTrackingCategory.cs new file mode 100644 index 00000000..5c55c74e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DeprecatedLinkedTrackingCategory.cs @@ -0,0 +1,31 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + [Obsolete("This will be removed in a future release, please migrate away from it as soon as possible.")] + public class DeprecatedLinkedTrackingCategory + { + + /// + /// The unique identifier for the tracking category. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The name of the tracking category. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Detail.cs b/src/Apideck/Unify/SDK/Models/Components/Detail.cs new file mode 100644 index 00000000..758fb38d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Detail.cs @@ -0,0 +1,192 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json.Linq; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Numerics; + using System.Reflection; + using System; + + + public class DetailType + { + private DetailType(string value) { Value = value; } + + public string Value { get; private set; } + public static DetailType Str { get { return new DetailType("str"); } } + + public static DetailType MapOfAny { get { return new DetailType("mapOfAny"); } } + + public static DetailType Null { get { return new DetailType("null"); } } + + public override string ToString() { return Value; } + public static implicit operator String(DetailType v) { return v.Value; } + public static DetailType FromString(string v) { + switch(v) { + case "str": return Str; + case "mapOfAny": return MapOfAny; + case "null": return Null; + default: throw new ArgumentException("Invalid value for DetailType"); + } + } + public override bool Equals(object? obj) + { + if (obj == null || GetType() != obj.GetType()) + { + return false; + } + return Value.Equals(((DetailType)obj).Value); + } + + public override int GetHashCode() + { + return Value.GetHashCode(); + } + } + + + /// + /// Contains parameter or domain specific information related to the error and why it occurred. + /// + [JsonConverter(typeof(Detail.DetailConverter))] + public class Detail { + public Detail(DetailType type) { + Type = type; + } + + [SpeakeasyMetadata("form:explode=true")] + public string? Str { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public Dictionary? MapOfAny { get; set; } + + public DetailType Type { get; set; } + + + public static Detail CreateStr(string str) { + DetailType typ = DetailType.Str; + + Detail res = new Detail(typ); + res.Str = str; + return res; + } + + public static Detail CreateMapOfAny(Dictionary mapOfAny) { + DetailType typ = DetailType.MapOfAny; + + Detail res = new Detail(typ); + res.MapOfAny = mapOfAny; + return res; + } + + public static Detail CreateNull() { + DetailType typ = DetailType.Null; + return new Detail(typ); + } + + public class DetailConverter : JsonConverter + { + + public override bool CanConvert(System.Type objectType) => objectType == typeof(Detail); + + public override bool CanRead => true; + + public override object? ReadJson(JsonReader reader, System.Type objectType, object? existingValue, JsonSerializer serializer) + { + var json = JRaw.Create(reader).ToString(); + if (json == "null") + { + return null; + } + + var fallbackCandidates = new List<(System.Type, object, string)>(); + + if (json[0] == '"' && json[^1] == '"'){ + return new Detail(DetailType.Str) + { + Str = json[1..^1] + }; + } + + try + { + return new Detail(DetailType.MapOfAny) + { + MapOfAny = ResponseBodyDeserializer.DeserializeUndiscriminatedUnionMember>(json) + }; + } + catch (ResponseBodyDeserializer.MissingMemberException) + { + fallbackCandidates.Add((typeof(Dictionary), new Detail(DetailType.MapOfAny), "MapOfAny")); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next option + } + catch (Exception) + { + throw; + } + + if (fallbackCandidates.Count > 0) + { + fallbackCandidates.Sort((a, b) => ResponseBodyDeserializer.CompareFallbackCandidates(a.Item1, b.Item1, json)); + foreach(var (deserializationType, returnObject, propertyName) in fallbackCandidates) + { + try + { + return ResponseBodyDeserializer.DeserializeUndiscriminatedUnionFallback(deserializationType, returnObject, propertyName, json); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next fallback option + } + catch (Exception) + { + throw; + } + } + } + + throw new InvalidOperationException("Could not deserialize into any supported types."); + } + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + if (value == null) { + writer.WriteRawValue("null"); + return; + } + Detail res = (Detail)value; + if (DetailType.FromString(res.Type).Equals(DetailType.Null)) + { + writer.WriteRawValue("null"); + return; + } + if (res.Str != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Str)); + return; + } + if (res.MapOfAny != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.MapOfAny)); + return; + } + + } + + } + + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Direction.cs b/src/Apideck/Unify/SDK/Models/Components/Direction.cs new file mode 100644 index 00000000..3dfa6195 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Direction.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The direction of the message. + /// + public enum Direction + { + [JsonProperty("inbound")] + Inbound, + [JsonProperty("outbound-api")] + OutboundApi, + [JsonProperty("outbound-call")] + OutboundCall, + [JsonProperty("outbound-reply")] + OutboundReply, + [JsonProperty("unknown")] + Unknown, + } + + public static class DirectionExtension + { + public static string Value(this Direction value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static Direction ToEnum(this string value) + { + foreach(var field in typeof(Direction).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is Direction) + { + return (Direction)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum Direction"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DisabledReason.cs b/src/Apideck/Unify/SDK/Models/Components/DisabledReason.cs new file mode 100644 index 00000000..ba512fd2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DisabledReason.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Indicates if the webhook has has been disabled as it reached its retry limit or if account is over the usage allocated by it's plan. + /// + public enum DisabledReason + { + [JsonProperty("none")] + None, + [JsonProperty("retry_limit")] + RetryLimit, + [JsonProperty("usage_limit")] + UsageLimit, + } + + public static class DisabledReasonExtension + { + public static string Value(this DisabledReason value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static DisabledReason ToEnum(this string value) + { + foreach(var field in typeof(DisabledReason).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is DisabledReason) + { + return (DisabledReason)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum DisabledReason"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Drive.cs b/src/Apideck/Unify/SDK/Models/Components/Drive.cs new file mode 100644 index 00000000..3f04924b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Drive.cs @@ -0,0 +1,75 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class Drive + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The name of the drive + /// + [JsonProperty("name")] + public string Name { get; set; } = default!; + + /// + /// A description of the object. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DriveGroup.cs b/src/Apideck/Unify/SDK/Models/Components/DriveGroup.cs new file mode 100644 index 00000000..a7fb9043 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DriveGroup.cs @@ -0,0 +1,81 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class DriveGroup + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The name of the drive group + /// + [JsonProperty("name")] + public string Name { get; set; } = default!; + + /// + /// The display name of the drive group + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + /// + /// A description of the object. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DriveGroupInput.cs b/src/Apideck/Unify/SDK/Models/Components/DriveGroupInput.cs new file mode 100644 index 00000000..d756ef06 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DriveGroupInput.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class DriveGroupInput + { + + /// + /// The name of the drive group + /// + [JsonProperty("name")] + public string Name { get; set; } = default!; + + /// + /// The display name of the drive group + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + /// + /// A description of the object. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DriveGroupsFilter.cs b/src/Apideck/Unify/SDK/Models/Components/DriveGroupsFilter.cs new file mode 100644 index 00000000..bcb39fe8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DriveGroupsFilter.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class DriveGroupsFilter + { + + /// + /// ID of the drive group to filter on + /// + [SpeakeasyMetadata("queryParam:name=parent_group_id")] + public string? ParentGroupId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DriveInput.cs b/src/Apideck/Unify/SDK/Models/Components/DriveInput.cs new file mode 100644 index 00000000..fbabf41f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DriveInput.cs @@ -0,0 +1,38 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class DriveInput + { + + /// + /// The name of the drive + /// + [JsonProperty("name")] + public string Name { get; set; } = default!; + + /// + /// A description of the object. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/DrivesFilter.cs b/src/Apideck/Unify/SDK/Models/Components/DrivesFilter.cs new file mode 100644 index 00000000..4c499300 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/DrivesFilter.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class DrivesFilter + { + + /// + /// ID of the drive group to filter on + /// + [SpeakeasyMetadata("queryParam:name=group_id")] + public string? GroupId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceAddress.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceAddress.cs new file mode 100644 index 00000000..01f2c17f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceAddress.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// An object representing a shipping or billing address. + /// + public class EcommerceAddress + { + + /// + /// Address line 1 of the billing address. + /// + [JsonProperty("line1")] + public string? Line1 { get; set; } = null; + + /// + /// Address line 2 of the billing address. + /// + [JsonProperty("line2")] + public string? Line2 { get; set; } = null; + + /// + /// Company name of the customer + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// City of the billing address. + /// + [JsonProperty("city")] + public string? City { get; set; } = null; + + /// + /// State/province of the billing address. + /// + [JsonProperty("state")] + public string? State { get; set; } = null; + + /// + /// Postal/ZIP code of the billing address. + /// + [JsonProperty("postal_code")] + public string? PostalCode { get; set; } = null; + + /// + /// Country of the billing address. + /// + [JsonProperty("country")] + public string? Country { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceCustomer.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceCustomer.cs new file mode 100644 index 00000000..7b5410ea --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceCustomer.cs @@ -0,0 +1,102 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class EcommerceCustomer + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// Full name of the customer + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// First name of the customer + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// Last name of the customer + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// Company name of the customer + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// The current status of the customer + /// + [JsonProperty("status")] + public CustomerStatus? Status { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// An array of email addresses for the customer. + /// + [JsonProperty("emails")] + public List? Emails { get; set; } = null; + + /// + /// An array of phone numbers for the customer. + /// + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } = null; + + /// + /// An array of addresses for the customer. + /// + [JsonProperty("addresses")] + public List? Addresses { get; set; } + + [JsonProperty("orders")] + public List? Orders { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceCustomerType.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceCustomerType.cs new file mode 100644 index 00000000..679f7884 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceCustomerType.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum EcommerceCustomerType + { + [JsonProperty("billing")] + Billing, + [JsonProperty("shipping")] + Shipping, + [JsonProperty("other")] + Other, + } + + public static class EcommerceCustomerTypeExtension + { + public static string Value(this EcommerceCustomerType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static EcommerceCustomerType ToEnum(this string value) + { + foreach(var field in typeof(EcommerceCustomerType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is EcommerceCustomerType) + { + return (EcommerceCustomerType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum EcommerceCustomerType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceCustomersFilter.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceCustomersFilter.cs new file mode 100644 index 00000000..db7b476f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceCustomersFilter.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class EcommerceCustomersFilter + { + + /// + /// Customer email address to filter on + /// + [SpeakeasyMetadata("queryParam:name=email")] + public string? Email { get; set; } + + /// + /// Customer phone number to filter on + /// + [SpeakeasyMetadata("queryParam:name=phone_number")] + public string? PhoneNumber { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceDiscount.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceDiscount.cs new file mode 100644 index 00000000..8a1eb668 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceDiscount.cs @@ -0,0 +1,39 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// An object representing a discount applied to an ecommerce order or product. + /// + public class EcommerceDiscount + { + + /// + /// The code used to apply the discount. + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + + /// + /// The fixed amount of the discount. + /// + [JsonProperty("amount")] + public string? Amount { get; set; } = null; + + /// + /// The percentage of the discount. + /// + [JsonProperty("percentage")] + public string? Percentage { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceOrder.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceOrder.cs new file mode 100644 index 00000000..dfb9b310 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceOrder.cs @@ -0,0 +1,156 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class EcommerceOrder + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// Order number, if any. + /// + [JsonProperty("order_number")] + public string? OrderNumber { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + [JsonProperty("discounts")] + public List? Discounts { get; set; } + + /// + /// Sub-total amount, normally before tax. + /// + [JsonProperty("sub_total")] + public string? SubTotal { get; set; } = null; + + /// + /// Shipping cost, if any. + /// + [JsonProperty("shipping_cost")] + public string? ShippingCost { get; set; } = null; + + /// + /// Coupon discount, if any. + /// + [JsonProperty("coupon_discount")] + public string? CouponDiscount { get; set; } = null; + + /// + /// Total discount, if any. + /// + [JsonProperty("total_discount")] + public string? TotalDiscount { get; set; } = null; + + /// + /// Total tax, if any. + /// + [JsonProperty("total_tax")] + public string? TotalTax { get; set; } = null; + + /// + /// Total amount due. + /// + [JsonProperty("total_amount")] + public string? TotalAmount { get; set; } = null; + + /// + /// Refunded amount, if any. + /// + [JsonProperty("refunded_amount")] + public string? RefundedAmount { get; set; } = null; + + /// + /// Current status of the order. + /// + [JsonProperty("status")] + public EcommerceOrderStatus? Status { get; set; } = null; + + /// + /// Current payment status of the order. + /// + [JsonProperty("payment_status")] + public EcommerceOrderPaymentStatus? PaymentStatus { get; set; } = null; + + /// + /// Current fulfillment status of the order. + /// + [JsonProperty("fulfillment_status")] + public FulfillmentStatus? FulfillmentStatus { get; set; } = null; + + /// + /// Payment method used for this order. + /// + [JsonProperty("payment_method")] + public string? PaymentMethod { get; set; } = null; + + /// + /// The customer this entity is linked to. + /// + [JsonProperty("customer")] + public LinkedEcommerceCustomer? Customer { get; set; } + + /// + /// An object representing a shipping or billing address. + /// + [JsonProperty("billing_address")] + public EcommerceAddress? BillingAddress { get; set; } + + /// + /// An object representing a shipping or billing address. + /// + [JsonProperty("shipping_address")] + public EcommerceAddress? ShippingAddress { get; set; } + + [JsonProperty("tracking")] + public List? Tracking { get; set; } + + [JsonProperty("line_items")] + public List? LineItems { get; set; } + + /// + /// Note for the order. + /// + [JsonProperty("note")] + public string? Note { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceOrderLineItem.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceOrderLineItem.cs new file mode 100644 index 00000000..e2034572 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceOrderLineItem.cs @@ -0,0 +1,119 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// A single line item of an ecommerce order, representing a product or variant with associated options, quantity, and pricing information. + /// + public class EcommerceOrderLineItem + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// A unique identifier for the product associated with the line item. + /// + [JsonProperty("product_id")] + public string? ProductId { get; set; } = null; + + /// + /// A unique identifier for the variant of the product associated with the line item, if applicable. + /// + [JsonProperty("variant_id")] + public string? VariantId { get; set; } = null; + + /// + /// The SKU of the product or variant associated with the line item. + /// + [JsonProperty("sku")] + public string? Sku { get; set; } = null; + + /// + /// The name of the product or variant associated with the line item. + /// + [JsonProperty("name", NullValueHandling = NullValueHandling.Include)] + public string? Name { get; set; } + + /// + /// The description of the product or variant associated with the line item. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + [JsonProperty("options")] + public List? Options { get; set; } + + /// + /// The quantity of the product or variant associated with the line item. + /// + [JsonProperty("quantity", NullValueHandling = NullValueHandling.Include)] + public string? Quantity { get; set; } + + /// + /// The unit price of the product or variant associated with the line item. + /// + [JsonProperty("unit_price")] + public string? UnitPrice { get; set; } = null; + + /// + /// The tax rate applied to the product or variant associated with the line item. + /// + [JsonProperty("tax_rate")] + public string? TaxRate { get; set; } = null; + + /// + /// The total tax amount applied to the product or variant associated with the line item. + /// + [JsonProperty("tax_amount")] + public string? TaxAmount { get; set; } = null; + + /// + /// Whether the line item has been refunded. + /// + [JsonProperty("is_refunded")] + public bool? IsRefunded { get; set; } = null; + + /// + /// The amount of the line item that has been refunded. + /// + [JsonProperty("refunded_amount")] + public string? RefundedAmount { get; set; } = null; + + /// + /// The quantity of the line item that has been refunded. + /// + [JsonProperty("refunded_quantity")] + public string? RefundedQuantity { get; set; } = null; + + /// + /// The sub total for the product(s) or variant associated with the line item, excluding taxes and discounts. + /// + [JsonProperty("sub_total")] + public string? SubTotal { get; set; } = null; + + /// + /// The total amount for the product(s) or variant associated with the line item, including taxes and discounts. + /// + [JsonProperty("total_amount", NullValueHandling = NullValueHandling.Include)] + public string? TotalAmount { get; set; } + + [JsonProperty("discounts")] + public List? Discounts { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceOrderPaymentStatus.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceOrderPaymentStatus.cs new file mode 100644 index 00000000..f60c128d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceOrderPaymentStatus.cs @@ -0,0 +1,70 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Current payment status of the order. + /// + public enum EcommerceOrderPaymentStatus + { + [JsonProperty("pending")] + Pending, + [JsonProperty("authorized")] + Authorized, + [JsonProperty("paid")] + Paid, + [JsonProperty("partial")] + Partial, + [JsonProperty("refunded")] + Refunded, + [JsonProperty("voided")] + Voided, + [JsonProperty("unknown")] + Unknown, + } + + public static class EcommerceOrderPaymentStatusExtension + { + public static string Value(this EcommerceOrderPaymentStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static EcommerceOrderPaymentStatus ToEnum(this string value) + { + foreach(var field in typeof(EcommerceOrderPaymentStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is EcommerceOrderPaymentStatus) + { + return (EcommerceOrderPaymentStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum EcommerceOrderPaymentStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceOrderStatus.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceOrderStatus.cs new file mode 100644 index 00000000..a7da61c0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceOrderStatus.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Current status of the order. + /// + public enum EcommerceOrderStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("completed")] + Completed, + [JsonProperty("cancelled")] + Cancelled, + [JsonProperty("archived")] + Archived, + [JsonProperty("unknown")] + Unknown, + [JsonProperty("other")] + Other, + } + + public static class EcommerceOrderStatusExtension + { + public static string Value(this EcommerceOrderStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static EcommerceOrderStatus ToEnum(this string value) + { + foreach(var field in typeof(EcommerceOrderStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is EcommerceOrderStatus) + { + return (EcommerceOrderStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum EcommerceOrderStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceOrdersFilter.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceOrdersFilter.cs new file mode 100644 index 00000000..06ae912e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceOrdersFilter.cs @@ -0,0 +1,41 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class EcommerceOrdersFilter + { + + /// + /// Customer email address to filter on + /// + [SpeakeasyMetadata("queryParam:name=email")] + public string? Email { get; set; } + + /// + /// Customer id to filter on + /// + [SpeakeasyMetadata("queryParam:name=customer_id")] + public string? CustomerId { get; set; } + + /// + /// Minimum date the order was last modified + /// + [SpeakeasyMetadata("queryParam:name=updated_since")] + public string? UpdatedSince { get; set; } + + /// + /// Minimum date the order was created + /// + [SpeakeasyMetadata("queryParam:name=created_since")] + public string? CreatedSince { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceProduct.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceProduct.cs new file mode 100644 index 00000000..1c80213a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceProduct.cs @@ -0,0 +1,120 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class EcommerceProduct + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The name of the product as it should be displayed to customers. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// A detailed description of the product. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The current status of the product (active or archived). + /// + [JsonProperty("status")] + public ProductStatus? Status { get; set; } = null; + + /// + /// The price of the product. + /// + [JsonProperty("price")] + public string? Price { get; set; } = null; + + /// + /// The stock keeping unit of the product. + /// + [JsonProperty("sku")] + public string? Sku { get; set; } = null; + + /// + /// The quantity of the product in stock. + /// + [JsonProperty("inventory_quantity")] + public string? InventoryQuantity { get; set; } = null; + + /// + /// An array of image URLs for the product. + /// + [JsonProperty("images")] + public List? Images { get; set; } = null; + + /// + /// The weight of the product. + /// + [JsonProperty("weight")] + public string? Weight { get; set; } = null; + + /// + /// The unit of measurement for the weight of the product. + /// + [JsonProperty("weight_unit")] + public string? WeightUnit { get; set; } = null; + + /// + /// An array of options for the product. + /// + [JsonProperty("options")] + public List? Options { get; set; } + + [JsonProperty("variants")] + public List? Variants { get; set; } + + /// + /// An array of tags for the product, used for organization and searching. + /// + [JsonProperty("tags")] + public List? Tags { get; set; } + + /// + /// An array of categories for the product, used for organization and searching. + /// + [JsonProperty("categories")] + public List? Categories { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceProductCategories.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceProductCategories.cs new file mode 100644 index 00000000..86693bd6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceProductCategories.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class EcommerceProductCategories + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The name of the category. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceProductImages.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceProductImages.cs new file mode 100644 index 00000000..94f76aa3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceProductImages.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class EcommerceProductImages + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The URL of an image of the variant. + /// + [JsonProperty("url")] + public string? Url { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceProductOptions.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceProductOptions.cs new file mode 100644 index 00000000..654c0285 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceProductOptions.cs @@ -0,0 +1,34 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class EcommerceProductOptions + { + + /// + /// A unique identifier for the option of the product. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The name of the option for the product. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + [JsonProperty("values")] + public List? Values { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceProductVariantsOptions.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceProductVariantsOptions.cs new file mode 100644 index 00000000..6eac3c2b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceProductVariantsOptions.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class EcommerceProductVariantsOptions + { + + /// + /// A unique identifier for the option of the variant. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The name of the option for the variant. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// The value of the option for the variant. + /// + [JsonProperty("value")] + public string? Value { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EcommerceStore.cs b/src/Apideck/Unify/SDK/Models/Components/EcommerceStore.cs new file mode 100644 index 00000000..42088c34 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EcommerceStore.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public class EcommerceStore + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The store's name + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// The store's website URL + /// + [JsonProperty("store_url")] + public string? StoreUrl { get; set; } = null; + + /// + /// The store's admin login URL + /// + [JsonProperty("admin_url")] + public string? AdminUrl { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Email.cs b/src/Apideck/Unify/SDK/Models/Components/Email.cs new file mode 100644 index 00000000..a29eb665 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Email.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Email + { + + /// + /// Unique identifier for the email address + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// Email address + /// + [JsonProperty("email", NullValueHandling = NullValueHandling.Include)] + public string? EmailValue { get; set; } + + /// + /// Email type + /// + [JsonProperty("type")] + public EmailType? Type { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmailType.cs b/src/Apideck/Unify/SDK/Models/Components/EmailType.cs new file mode 100644 index 00000000..52fdf180 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmailType.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Email type + /// + public enum EmailType + { + [JsonProperty("primary")] + Primary, + [JsonProperty("secondary")] + Secondary, + [JsonProperty("work")] + Work, + [JsonProperty("personal")] + Personal, + [JsonProperty("billing")] + Billing, + [JsonProperty("other")] + Other, + } + + public static class EmailTypeExtension + { + public static string Value(this EmailType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static EmailType ToEnum(this string value) + { + foreach(var field in typeof(EmailType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is EmailType) + { + return (EmailType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum EmailType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Employee.cs b/src/Apideck/Unify/SDK/Models/Components/Employee.cs new file mode 100644 index 00000000..f7a9d39d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Employee.cs @@ -0,0 +1,365 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class Employee + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The first name of the person. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// The last name of the person. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// Middle name of the person. + /// + [JsonProperty("middle_name")] + public string? MiddleName { get; set; } = null; + + /// + /// The name used to display the employee, often a combination of their first and last names. + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + /// + /// The name the employee prefers to be addressed by, which may be different from their legal name. + /// + [JsonProperty("preferred_name")] + public string? PreferredName { get; set; } = null; + + /// + /// The initials of the person, usually derived from their first, middle, and last names. + /// + [JsonProperty("initials")] + public string? Initials { get; set; } = null; + + /// + /// A formal salutation for the person. For example, 'Mr', 'Mrs' + /// + [JsonProperty("salutation")] + public string? Salutation { get; set; } = null; + + /// + /// The job title of the person. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// The marital status of the employee. + /// + [JsonProperty("marital_status")] + public string? MaritalStatus { get; set; } = null; + + [JsonProperty("partner")] + public Person? Partner { get; set; } + + /// + /// The division the person is currently in. Usually a collection of departments or teams or regions. + /// + [JsonProperty("division")] + public string? Division { get; set; } = null; + + /// + /// Unique identifier of the division this employee belongs to. + /// + [JsonProperty("division_id")] + public string? DivisionId { get; set; } = null; + + /// + /// The department the person is currently in. Deprecated in favor of the dedicated department_id and department_name field. + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("department")] + public string? Department { get; set; } = null; + + /// + /// Unique identifier of the department ID this employee belongs to. + /// + [JsonProperty("department_id")] + public string? DepartmentId { get; set; } = null; + + /// + /// Name of the department this employee belongs to. + /// + [JsonProperty("department_name")] + public string? DepartmentName { get; set; } = null; + + /// + /// The team the person is currently in. + /// + [JsonProperty("team")] + public Team? Team { get; set; } = null; + + /// + /// The unique identifier of the company. + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The name of the company. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// A Start Date is the date that the employee started working at the company + /// + [JsonProperty("employment_start_date")] + public string? EmploymentStartDate { get; set; } = null; + + /// + /// An End Date is the date that the employee ended working at the company + /// + [JsonProperty("employment_end_date")] + public string? EmploymentEndDate { get; set; } = null; + + /// + /// The reason because the employment ended. + /// + [JsonProperty("leaving_reason")] + public LeavingReason? LeavingReason { get; set; } = null; + + /// + /// An Employee Number, Employee ID or Employee Code, is a unique number that has been assigned to each individual staff member within a company. + /// + [JsonProperty("employee_number")] + public string? EmployeeNumber { get; set; } = null; + + /// + /// The employment status of the employee, indicating whether they are currently employed, inactive, terminated, or in another status. + /// + [JsonProperty("employment_status")] + public EmploymentStatus? EmploymentStatus { get; set; } = null; + + [JsonProperty("employment_role")] + public EmploymentRole? EmploymentRole { get; set; } + + /// + /// The ethnicity of the employee + /// + [JsonProperty("ethnicity")] + public string? Ethnicity { get; set; } = null; + + [JsonProperty("manager")] + public Manager? Manager { get; set; } + + /// + /// Direct reports is an array of ids that reflect the individuals in an organizational hierarchy who are directly supervised by this specific employee. + /// + [JsonProperty("direct_reports")] + public List? DirectReports { get; set; } = null; + + /// + /// A unique identifier assigned by the government. This field is considered sensitive information and may be subject to special security and privacy restrictions. + /// + [JsonProperty("social_security_number")] + public string? SocialSecurityNumber { get; set; } = null; + + /// + /// The date of birth of the person. + /// + [JsonProperty("birthday")] + public LocalDate? Birthday { get; set; } = null; + + /// + /// The date the person deceased. + /// + [JsonProperty("deceased_on")] + public LocalDate? DeceasedOn { get; set; } = null; + + /// + /// Country code according to ISO 3166-1 alpha-2. + /// + [JsonProperty("country_of_birth")] + public string? CountryOfBirth { get; set; } = null; + + /// + /// A description of the object. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The gender represents the gender identity of a person. + /// + [JsonProperty("gender")] + public Gender? Gender { get; set; } = null; + + /// + /// The preferred pronouns of the person. + /// + [JsonProperty("pronouns")] + public string? Pronouns { get; set; } = null; + + /// + /// language code according to ISO 639-1. For the United States - EN + /// + [JsonProperty("preferred_language")] + public string? PreferredLanguage { get; set; } = null; + + [JsonProperty("languages")] + public List? Languages { get; set; } + + [JsonProperty("nationalities")] + public List? Nationalities { get; set; } + + /// + /// The URL of the photo of a person. + /// + [JsonProperty("photo_url")] + public string? PhotoUrl { get; set; } = null; + + /// + /// The time zone related to the resource. The value is a string containing a standard time zone identifier, e.g. Europe/London. + /// + [JsonProperty("timezone")] + public string? Timezone { get; set; } = null; + + /// + /// When the employee is imported as a new hire, this field indicates what system (e.g. the name of the ATS) this employee was imported from. + /// + [JsonProperty("source")] + public string? Source { get; set; } = null; + + /// + /// Unique identifier of the employee in the system this employee was imported from (e.g. the ID in the ATS). + /// + [JsonProperty("source_id")] + public string? SourceId { get; set; } = null; + + [JsonProperty("record_url")] + public string? RecordUrl { get; set; } = null; + + [JsonProperty("jobs")] + public List? Jobs { get; set; } = null; + + [JsonProperty("compensations")] + public List? Compensations { get; set; } = null; + + /// + /// Indicates if the employee works from a remote location. + /// + [JsonProperty("works_remote")] + public bool? WorksRemote { get; set; } = null; + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + [JsonProperty("social_links")] + public List? SocialLinks { get; set; } + + [JsonProperty("bank_accounts")] + public List? BankAccounts { get; set; } + + [JsonProperty("tax_code")] + public string? TaxCode { get; set; } = null; + + [JsonProperty("tax_id")] + public string? TaxId { get; set; } = null; + + /// + /// Indicate the employee's dietary preference. + /// + [JsonProperty("dietary_preference")] + public string? DietaryPreference { get; set; } = null; + + /// + /// Indicate the employee's food allergies. + /// + [JsonProperty("food_allergies")] + public List? FoodAllergies { get; set; } = null; + + [JsonProperty("probation_period")] + public ProbationPeriod? ProbationPeriod { get; set; } + + [JsonProperty("tags")] + public List? Tags { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// Flag to indicate if the object is deleted. + /// + [JsonProperty("deleted")] + public bool? Deleted { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmployeeCompensation.cs b/src/Apideck/Unify/SDK/Models/Components/EmployeeCompensation.cs new file mode 100644 index 00000000..a367d317 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmployeeCompensation.cs @@ -0,0 +1,67 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class EmployeeCompensation + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The ID of the job to which the compensation belongs. + /// + [JsonProperty("job_id")] + public string? JobId { get; set; } = null; + + /// + /// The amount paid per payment unit. + /// + [JsonProperty("rate")] + public double? Rate { get; set; } = null; + + /// + /// Unit of measurement for employee compensation. + /// + [JsonProperty("payment_unit")] + public PaymentUnit? PaymentUnit { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// The FLSA status for this compensation. + /// + [JsonProperty("flsa_status")] + public FlsaStatus? FlsaStatus { get; set; } = null; + + /// + /// The date on which a change to an employee's compensation takes effect. + /// + [JsonProperty("effective_date")] + public string? EffectiveDate { get; set; } = null; + + /// + /// Frequency of employee compensation. + /// + [JsonProperty("payment_frequency")] + public PaymentFrequency? PaymentFrequency { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmployeeCompensationInput.cs b/src/Apideck/Unify/SDK/Models/Components/EmployeeCompensationInput.cs new file mode 100644 index 00000000..e8c637e7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmployeeCompensationInput.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class EmployeeCompensationInput + { + + /// + /// The amount paid per payment unit. + /// + [JsonProperty("rate")] + public double? Rate { get; set; } = null; + + /// + /// Unit of measurement for employee compensation. + /// + [JsonProperty("payment_unit")] + public PaymentUnit? PaymentUnit { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// The FLSA status for this compensation. + /// + [JsonProperty("flsa_status")] + public FlsaStatus? FlsaStatus { get; set; } = null; + + /// + /// The date on which a change to an employee's compensation takes effect. + /// + [JsonProperty("effective_date")] + public string? EffectiveDate { get; set; } = null; + + /// + /// Frequency of employee compensation. + /// + [JsonProperty("payment_frequency")] + public PaymentFrequency? PaymentFrequency { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmployeeInput.cs b/src/Apideck/Unify/SDK/Models/Components/EmployeeInput.cs new file mode 100644 index 00000000..fed0deb5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmployeeInput.cs @@ -0,0 +1,335 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class EmployeeInput + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The first name of the person. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// The last name of the person. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// Middle name of the person. + /// + [JsonProperty("middle_name")] + public string? MiddleName { get; set; } = null; + + /// + /// The name used to display the employee, often a combination of their first and last names. + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + /// + /// The name the employee prefers to be addressed by, which may be different from their legal name. + /// + [JsonProperty("preferred_name")] + public string? PreferredName { get; set; } = null; + + /// + /// The initials of the person, usually derived from their first, middle, and last names. + /// + [JsonProperty("initials")] + public string? Initials { get; set; } = null; + + /// + /// A formal salutation for the person. For example, 'Mr', 'Mrs' + /// + [JsonProperty("salutation")] + public string? Salutation { get; set; } = null; + + /// + /// The job title of the person. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// The marital status of the employee. + /// + [JsonProperty("marital_status")] + public string? MaritalStatus { get; set; } = null; + + [JsonProperty("partner")] + public PersonInput? Partner { get; set; } + + /// + /// The division the person is currently in. Usually a collection of departments or teams or regions. + /// + [JsonProperty("division")] + public string? Division { get; set; } = null; + + /// + /// Unique identifier of the division this employee belongs to. + /// + [JsonProperty("division_id")] + public string? DivisionId { get; set; } = null; + + /// + /// The department the person is currently in. Deprecated in favor of the dedicated department_id and department_name field. + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("department")] + public string? Department { get; set; } = null; + + /// + /// Unique identifier of the department ID this employee belongs to. + /// + [JsonProperty("department_id")] + public string? DepartmentId { get; set; } = null; + + /// + /// Name of the department this employee belongs to. + /// + [JsonProperty("department_name")] + public string? DepartmentName { get; set; } = null; + + /// + /// The team the person is currently in. + /// + [JsonProperty("team")] + public Team? Team { get; set; } = null; + + /// + /// The unique identifier of the company. + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The name of the company. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// A Start Date is the date that the employee started working at the company + /// + [JsonProperty("employment_start_date")] + public string? EmploymentStartDate { get; set; } = null; + + /// + /// An End Date is the date that the employee ended working at the company + /// + [JsonProperty("employment_end_date")] + public string? EmploymentEndDate { get; set; } = null; + + /// + /// The reason because the employment ended. + /// + [JsonProperty("leaving_reason")] + public LeavingReason? LeavingReason { get; set; } = null; + + /// + /// An Employee Number, Employee ID or Employee Code, is a unique number that has been assigned to each individual staff member within a company. + /// + [JsonProperty("employee_number")] + public string? EmployeeNumber { get; set; } = null; + + /// + /// The employment status of the employee, indicating whether they are currently employed, inactive, terminated, or in another status. + /// + [JsonProperty("employment_status")] + public EmploymentStatus? EmploymentStatus { get; set; } = null; + + [JsonProperty("employment_role")] + public EmploymentRole? EmploymentRole { get; set; } + + /// + /// The ethnicity of the employee + /// + [JsonProperty("ethnicity")] + public string? Ethnicity { get; set; } = null; + + [JsonProperty("manager")] + public Manager? Manager { get; set; } + + /// + /// Direct reports is an array of ids that reflect the individuals in an organizational hierarchy who are directly supervised by this specific employee. + /// + [JsonProperty("direct_reports")] + public List? DirectReports { get; set; } = null; + + /// + /// A unique identifier assigned by the government. This field is considered sensitive information and may be subject to special security and privacy restrictions. + /// + [JsonProperty("social_security_number")] + public string? SocialSecurityNumber { get; set; } = null; + + /// + /// The date of birth of the person. + /// + [JsonProperty("birthday")] + public LocalDate? Birthday { get; set; } = null; + + /// + /// The date the person deceased. + /// + [JsonProperty("deceased_on")] + public LocalDate? DeceasedOn { get; set; } = null; + + /// + /// Country code according to ISO 3166-1 alpha-2. + /// + [JsonProperty("country_of_birth")] + public string? CountryOfBirth { get; set; } = null; + + /// + /// A description of the object. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The gender represents the gender identity of a person. + /// + [JsonProperty("gender")] + public Gender? Gender { get; set; } = null; + + /// + /// The preferred pronouns of the person. + /// + [JsonProperty("pronouns")] + public string? Pronouns { get; set; } = null; + + /// + /// language code according to ISO 639-1. For the United States - EN + /// + [JsonProperty("preferred_language")] + public string? PreferredLanguage { get; set; } = null; + + [JsonProperty("languages")] + public List? Languages { get; set; } + + [JsonProperty("nationalities")] + public List? Nationalities { get; set; } + + /// + /// The URL of the photo of a person. + /// + [JsonProperty("photo_url")] + public string? PhotoUrl { get; set; } = null; + + /// + /// The time zone related to the resource. The value is a string containing a standard time zone identifier, e.g. Europe/London. + /// + [JsonProperty("timezone")] + public string? Timezone { get; set; } = null; + + /// + /// When the employee is imported as a new hire, this field indicates what system (e.g. the name of the ATS) this employee was imported from. + /// + [JsonProperty("source")] + public string? Source { get; set; } = null; + + /// + /// Unique identifier of the employee in the system this employee was imported from (e.g. the ID in the ATS). + /// + [JsonProperty("source_id")] + public string? SourceId { get; set; } = null; + + [JsonProperty("record_url")] + public string? RecordUrl { get; set; } = null; + + [JsonProperty("jobs")] + public List? Jobs { get; set; } = null; + + [JsonProperty("compensations")] + public List? Compensations { get; set; } = null; + + /// + /// Indicates if the employee works from a remote location. + /// + [JsonProperty("works_remote")] + public bool? WorksRemote { get; set; } = null; + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + [JsonProperty("social_links")] + public List? SocialLinks { get; set; } + + [JsonProperty("bank_accounts")] + public List? BankAccounts { get; set; } + + [JsonProperty("tax_code")] + public string? TaxCode { get; set; } = null; + + [JsonProperty("tax_id")] + public string? TaxId { get; set; } = null; + + /// + /// Indicate the employee's dietary preference. + /// + [JsonProperty("dietary_preference")] + public string? DietaryPreference { get; set; } = null; + + /// + /// Indicate the employee's food allergies. + /// + [JsonProperty("food_allergies")] + public List? FoodAllergies { get; set; } = null; + + [JsonProperty("probation_period")] + public ProbationPeriod? ProbationPeriod { get; set; } + + [JsonProperty("tags")] + public List? Tags { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// Flag to indicate if the object is deleted. + /// + [JsonProperty("deleted")] + public bool? Deleted { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmployeeJob.cs b/src/Apideck/Unify/SDK/Models/Components/EmployeeJob.cs new file mode 100644 index 00000000..25d6ac0a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmployeeJob.cs @@ -0,0 +1,101 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + + public class EmployeeJob + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// A unique identifier for an object. + /// + [JsonProperty("employee_id")] + public string? EmployeeId { get; set; } = null; + + /// + /// The job title of the person. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// The position and responsibilities of the person within the organization. + /// + [JsonProperty("role")] + public string? Role { get; set; } = null; + + /// + /// The date on which the employee starts working in their current job role. + /// + [JsonProperty("start_date")] + public LocalDate? StartDate { get; set; } = null; + + /// + /// The date on which the employee leaves or is expected to leave their current job role. + /// + [JsonProperty("end_date")] + public LocalDate? EndDate { get; set; } = null; + + /// + /// The rate of pay for the employee in their current job role. + /// + [JsonProperty("compensation_rate")] + public double? CompensationRate { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Unit of measurement for employee compensation. + /// + [JsonProperty("payment_unit")] + public PaymentUnit? PaymentUnit { get; set; } = null; + + /// + /// The date on which the employee was hired by the organization + /// + [JsonProperty("hired_at")] + public LocalDate? HiredAt { get; set; } = null; + + /// + /// Indicates whether this the employee's primary job. + /// + [JsonProperty("is_primary")] + public bool? IsPrimary { get; set; } = null; + + /// + /// Indicates whether this the employee has a manager role. + /// + [JsonProperty("is_manager")] + public bool? IsManager { get; set; } = null; + + /// + /// Indicates the status of the job. + /// + [JsonProperty("status")] + public EmployeeJobStatus? Status { get; set; } = null; + + [JsonProperty("location")] + public Address? Location { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmployeeJobInput.cs b/src/Apideck/Unify/SDK/Models/Components/EmployeeJobInput.cs new file mode 100644 index 00000000..58c3f40b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmployeeJobInput.cs @@ -0,0 +1,89 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + + public class EmployeeJobInput + { + + /// + /// The job title of the person. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// The position and responsibilities of the person within the organization. + /// + [JsonProperty("role")] + public string? Role { get; set; } = null; + + /// + /// The date on which the employee starts working in their current job role. + /// + [JsonProperty("start_date")] + public LocalDate? StartDate { get; set; } = null; + + /// + /// The date on which the employee leaves or is expected to leave their current job role. + /// + [JsonProperty("end_date")] + public LocalDate? EndDate { get; set; } = null; + + /// + /// The rate of pay for the employee in their current job role. + /// + [JsonProperty("compensation_rate")] + public double? CompensationRate { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Unit of measurement for employee compensation. + /// + [JsonProperty("payment_unit")] + public PaymentUnit? PaymentUnit { get; set; } = null; + + /// + /// The date on which the employee was hired by the organization + /// + [JsonProperty("hired_at")] + public LocalDate? HiredAt { get; set; } = null; + + /// + /// Indicates whether this the employee's primary job. + /// + [JsonProperty("is_primary")] + public bool? IsPrimary { get; set; } = null; + + /// + /// Indicates whether this the employee has a manager role. + /// + [JsonProperty("is_manager")] + public bool? IsManager { get; set; } = null; + + /// + /// Indicates the status of the job. + /// + [JsonProperty("status")] + public EmployeeJobStatus? Status { get; set; } = null; + + [JsonProperty("location")] + public Address? Location { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmployeeJobStatus.cs b/src/Apideck/Unify/SDK/Models/Components/EmployeeJobStatus.cs new file mode 100644 index 00000000..098d1f22 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmployeeJobStatus.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Indicates the status of the job. + /// + public enum EmployeeJobStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("inactive")] + Inactive, + [JsonProperty("other")] + Other, + } + + public static class EmployeeJobStatusExtension + { + public static string Value(this EmployeeJobStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static EmployeeJobStatus ToEnum(this string value) + { + foreach(var field in typeof(EmployeeJobStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is EmployeeJobStatus) + { + return (EmployeeJobStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum EmployeeJobStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmployeePayroll.cs b/src/Apideck/Unify/SDK/Models/Components/EmployeePayroll.cs new file mode 100644 index 00000000..838d9432 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmployeePayroll.cs @@ -0,0 +1,80 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class EmployeePayroll + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id", NullValueHandling = NullValueHandling.Include)] + public string? Id { get; set; } + + /// + /// ID of the employee + /// + [JsonProperty("employee_id")] + public string? EmployeeId { get; set; } = null; + + /// + /// The unique identifier of the company. + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// Whether or not the payroll has been successfully processed. Note that processed payrolls cannot be updated. + /// + [JsonProperty("processed", NullValueHandling = NullValueHandling.Include)] + public bool? Processed { get; set; } + + /// + /// The date the payroll was processed. + /// + [JsonProperty("processed_date")] + public string? ProcessedDate { get; set; } = null; + + /// + /// The date on which employees will be paid for the payroll. + /// + [JsonProperty("check_date", NullValueHandling = NullValueHandling.Include)] + public string? CheckDate { get; set; } + + /// + /// The start date, inclusive, of the pay period. + /// + [JsonProperty("start_date", NullValueHandling = NullValueHandling.Include)] + public string? StartDate { get; set; } + + /// + /// The end date, inclusive, of the pay period. + /// + [JsonProperty("end_date", NullValueHandling = NullValueHandling.Include)] + public string? EndDate { get; set; } + + /// + /// The overview of the payroll totals. + /// + [JsonProperty("totals")] + public PayrollTotals? Totals { get; set; } + + /// + /// An array of compensations for the payroll. + /// + [JsonProperty("compensations")] + public List? Compensations { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmployeeSchedules.cs b/src/Apideck/Unify/SDK/Models/Components/EmployeeSchedules.cs new file mode 100644 index 00000000..e0758ad7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmployeeSchedules.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class EmployeeSchedules + { + + [JsonProperty("employee")] + public Employee? Employee { get; set; } + + [JsonProperty("schedules")] + public List? Schedules { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmployeesFilter.cs b/src/Apideck/Unify/SDK/Models/Components/EmployeesFilter.cs new file mode 100644 index 00000000..091fd6ea --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmployeesFilter.cs @@ -0,0 +1,72 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class EmployeesFilter + { + + /// + /// Company ID to filter on + /// + [SpeakeasyMetadata("queryParam:name=company_id")] + public string? CompanyId { get; set; } + + /// + /// Email to filter on + /// + [SpeakeasyMetadata("queryParam:name=email")] + public string? Email { get; set; } + + /// + /// First Name to filter on + /// + [SpeakeasyMetadata("queryParam:name=first_name")] + public string? FirstName { get; set; } + + /// + /// Job title to filter on + /// + [SpeakeasyMetadata("queryParam:name=title")] + public string? Title { get; set; } + + /// + /// Last Name to filter on + /// + [SpeakeasyMetadata("queryParam:name=last_name")] + public string? LastName { get; set; } + + /// + /// Manager id to filter on + /// + [SpeakeasyMetadata("queryParam:name=manager_id")] + public string? ManagerId { get; set; } + + /// + /// Employment status to filter on + /// + [SpeakeasyMetadata("queryParam:name=employment_status")] + public EmployeesFilterEmploymentStatus? EmploymentStatus { get; set; } + + /// + /// Employee number to filter on + /// + [SpeakeasyMetadata("queryParam:name=employee_number")] + public string? EmployeeNumber { get; set; } + + /// + /// ID of the department to filter on + /// + [SpeakeasyMetadata("queryParam:name=department_id")] + public string? DepartmentId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmployeesFilterEmploymentStatus.cs b/src/Apideck/Unify/SDK/Models/Components/EmployeesFilterEmploymentStatus.cs new file mode 100644 index 00000000..cf23c4ec --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmployeesFilterEmploymentStatus.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Employment status to filter on + /// + public enum EmployeesFilterEmploymentStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("inactive")] + Inactive, + [JsonProperty("terminated")] + Terminated, + [JsonProperty("other")] + Other, + } + + public static class EmployeesFilterEmploymentStatusExtension + { + public static string Value(this EmployeesFilterEmploymentStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static EmployeesFilterEmploymentStatus ToEnum(this string value) + { + foreach(var field in typeof(EmployeesFilterEmploymentStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is EmployeesFilterEmploymentStatus) + { + return (EmployeesFilterEmploymentStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum EmployeesFilterEmploymentStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmployeesOneFilter.cs b/src/Apideck/Unify/SDK/Models/Components/EmployeesOneFilter.cs new file mode 100644 index 00000000..2aac3c5f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmployeesOneFilter.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class EmployeesOneFilter + { + + /// + /// Company ID to filter on + /// + [SpeakeasyMetadata("queryParam:name=company_id")] + public string? CompanyId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmployeesSort.cs b/src/Apideck/Unify/SDK/Models/Components/EmployeesSort.cs new file mode 100644 index 00000000..d0c62b03 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmployeesSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class EmployeesSort + { + + /// + /// The field on which to sort the Employees + /// + [SpeakeasyMetadata("queryParam:name=by")] + public EmployeesSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmployeesSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/EmployeesSortBy.cs new file mode 100644 index 00000000..6497f52e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmployeesSortBy.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Employees + /// + public enum EmployeesSortBy + { + [JsonProperty("first_name")] + FirstName, + [JsonProperty("last_name")] + LastName, + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + } + + public static class EmployeesSortByExtension + { + public static string Value(this EmployeesSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static EmployeesSortBy ToEnum(this string value) + { + foreach(var field in typeof(EmployeesSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is EmployeesSortBy) + { + return (EmployeesSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum EmployeesSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmploymentRole.cs b/src/Apideck/Unify/SDK/Models/Components/EmploymentRole.cs new file mode 100644 index 00000000..a6468ada --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmploymentRole.cs @@ -0,0 +1,31 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class EmploymentRole + { + + /// + /// The type of employment relationship the employee has with the organization. + /// + [JsonProperty("type")] + public EmploymentType? Type { get; set; } = null; + + /// + /// The work schedule of the employee. + /// + [JsonProperty("sub_type")] + public EmploymentSubType? SubType { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmploymentStatus.cs b/src/Apideck/Unify/SDK/Models/Components/EmploymentStatus.cs new file mode 100644 index 00000000..cc76b1a1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmploymentStatus.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The employment status of the employee, indicating whether they are currently employed, inactive, terminated, or in another status. + /// + public enum EmploymentStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("inactive")] + Inactive, + [JsonProperty("terminated")] + Terminated, + [JsonProperty("other")] + Other, + } + + public static class EmploymentStatusExtension + { + public static string Value(this EmploymentStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static EmploymentStatus ToEnum(this string value) + { + foreach(var field in typeof(EmploymentStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is EmploymentStatus) + { + return (EmploymentStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum EmploymentStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmploymentSubType.cs b/src/Apideck/Unify/SDK/Models/Components/EmploymentSubType.cs new file mode 100644 index 00000000..13c0d799 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmploymentSubType.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The work schedule of the employee. + /// + public enum EmploymentSubType + { + [JsonProperty("full_time")] + FullTime, + [JsonProperty("part_time")] + PartTime, + [JsonProperty("hourly")] + Hourly, + [JsonProperty("other")] + Other, + [JsonProperty("not_specified")] + NotSpecified, + } + + public static class EmploymentSubTypeExtension + { + public static string Value(this EmploymentSubType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static EmploymentSubType ToEnum(this string value) + { + foreach(var field in typeof(EmploymentSubType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is EmploymentSubType) + { + return (EmploymentSubType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum EmploymentSubType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmploymentTerms.cs b/src/Apideck/Unify/SDK/Models/Components/EmploymentTerms.cs new file mode 100644 index 00000000..18204b87 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmploymentTerms.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum EmploymentTerms + { + [JsonProperty("full-time")] + FullTime, + [JsonProperty("part-time")] + PartTime, + [JsonProperty("internship")] + Internship, + [JsonProperty("contractor")] + Contractor, + [JsonProperty("employee")] + Employee, + [JsonProperty("freelance")] + Freelance, + [JsonProperty("temp")] + Temp, + [JsonProperty("seasonal")] + Seasonal, + [JsonProperty("volunteer")] + Volunteer, + [JsonProperty("other")] + Other, + } + + public static class EmploymentTermsExtension + { + public static string Value(this EmploymentTerms value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static EmploymentTerms ToEnum(this string value) + { + foreach(var field in typeof(EmploymentTerms).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is EmploymentTerms) + { + return (EmploymentTerms)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum EmploymentTerms"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EmploymentType.cs b/src/Apideck/Unify/SDK/Models/Components/EmploymentType.cs new file mode 100644 index 00000000..d06a9547 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EmploymentType.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of employment relationship the employee has with the organization. + /// + public enum EmploymentType + { + [JsonProperty("contractor")] + Contractor, + [JsonProperty("employee")] + Employee, + [JsonProperty("freelance")] + Freelance, + [JsonProperty("temp")] + Temp, + [JsonProperty("internship")] + Internship, + [JsonProperty("other")] + Other, + } + + public static class EmploymentTypeExtension + { + public static string Value(this EmploymentType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static EmploymentType ToEnum(this string value) + { + foreach(var field in typeof(EmploymentType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is EmploymentType) + { + return (EmploymentType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum EmploymentType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Error.cs b/src/Apideck/Unify/SDK/Models/Components/Error.cs new file mode 100644 index 00000000..de29c560 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Error.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// The error returned if your message status is failed or undelivered. + /// + public class Error + { + + /// + /// The error_code provides more information about the failure. If the message was successful, this value is null + /// + [JsonProperty("code")] + public string? Code { get; set; } + + [JsonProperty("message")] + public string? Message { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EvenWeeks.cs b/src/Apideck/Unify/SDK/Models/Components/EvenWeeks.cs new file mode 100644 index 00000000..0b1f999d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EvenWeeks.cs @@ -0,0 +1,39 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class EvenWeeks + { + + [JsonProperty("hours_monday")] + public double? HoursMonday { get; set; } + + [JsonProperty("hours_tuesday")] + public double? HoursTuesday { get; set; } + + [JsonProperty("hours_wednesday")] + public double? HoursWednesday { get; set; } + + [JsonProperty("hours_thursday")] + public double? HoursThursday { get; set; } + + [JsonProperty("hours_friday")] + public double? HoursFriday { get; set; } + + [JsonProperty("hours_saturday")] + public double? HoursSaturday { get; set; } + + [JsonProperty("hours_sunday")] + public double? HoursSunday { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/EventSource.cs b/src/Apideck/Unify/SDK/Models/Components/EventSource.cs new file mode 100644 index 00000000..53f4fab6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/EventSource.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Unify event source + /// + public enum EventSource + { + [JsonProperty("native")] + Native, + [JsonProperty("virtual")] + Virtual, + } + + public static class EventSourceExtension + { + public static string Value(this EventSource value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static EventSource ToEnum(this string value) + { + foreach(var field in typeof(EventSource).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is EventSource) + { + return (EventSource)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum EventSource"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Expense.cs b/src/Apideck/Unify/SDK/Models/Components/Expense.cs new file mode 100644 index 00000000..f349bccb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Expense.cs @@ -0,0 +1,147 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class Expense + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Number. + /// + [JsonProperty("number")] + public string? Number { get; set; } = null; + + /// + /// The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD + /// + [JsonProperty("transaction_date", NullValueHandling = NullValueHandling.Include)] + public DateTime? TransactionDate { get; set; } + + /// + /// The unique identifier for the ledger account that this expense should be credited to. + /// + [JsonProperty("account_id")] + public string AccountId { get; set; } = default!; + + /// + /// The ID of the customer this entity is linked to. Used for expenses that should be marked as billable to customers. + /// + [JsonProperty("customer_id")] + public string? CustomerId { get; set; } + + /// + /// The ID of the supplier this entity is linked to. + /// + [JsonProperty("supplier_id")] + public string? SupplierId { get; set; } + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The ID of the department this expense is linked to. + /// + [JsonProperty("department_id")] + public string? DepartmentId { get; set; } + + /// + /// The type of payment for the expense. + /// + [JsonProperty("payment_type")] + public ExpensePaymentType? PaymentType { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// The type of expense. + /// + [JsonProperty("type")] + public ExpenseType? Type { get; set; } = null; + + /// + /// The memo of the expense. + /// + [JsonProperty("memo")] + public string? Memo { get; set; } = null; + + [JsonProperty("tax_rate")] + public LinkedTaxRate? TaxRate { get; set; } + + /// + /// The total amount of the expense line item. + /// + [JsonProperty("total_amount")] + public double? TotalAmount { get; set; } = null; + + /// + /// Expense line items linked to this expense. + /// + [JsonProperty("line_items")] + public List LineItems { get; set; } = default!; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ExpenseInput.cs b/src/Apideck/Unify/SDK/Models/Components/ExpenseInput.cs new file mode 100644 index 00000000..e5d01a4c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ExpenseInput.cs @@ -0,0 +1,123 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class ExpenseInput + { + + /// + /// Number. + /// + [JsonProperty("number")] + public string? Number { get; set; } = null; + + /// + /// The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD + /// + [JsonProperty("transaction_date", NullValueHandling = NullValueHandling.Include)] + public DateTime? TransactionDate { get; set; } + + /// + /// The unique identifier for the ledger account that this expense should be credited to. + /// + [JsonProperty("account_id")] + public string AccountId { get; set; } = default!; + + /// + /// The ID of the customer this entity is linked to. Used for expenses that should be marked as billable to customers. + /// + [JsonProperty("customer_id")] + public string? CustomerId { get; set; } + + /// + /// The ID of the supplier this entity is linked to. + /// + [JsonProperty("supplier_id")] + public string? SupplierId { get; set; } + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The ID of the department this expense is linked to. + /// + [JsonProperty("department_id")] + public string? DepartmentId { get; set; } + + /// + /// The type of payment for the expense. + /// + [JsonProperty("payment_type")] + public ExpensePaymentType? PaymentType { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// The type of expense. + /// + [JsonProperty("type")] + public ExpenseType? Type { get; set; } = null; + + /// + /// The memo of the expense. + /// + [JsonProperty("memo")] + public string? Memo { get; set; } = null; + + [JsonProperty("tax_rate")] + public LinkedTaxRateInput? TaxRate { get; set; } + + /// + /// The total amount of the expense line item. + /// + [JsonProperty("total_amount")] + public double? TotalAmount { get; set; } = null; + + /// + /// Expense line items linked to this expense. + /// + [JsonProperty("line_items")] + public List LineItems { get; set; } = default!; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ExpenseLineItem.cs b/src/Apideck/Unify/SDK/Models/Components/ExpenseLineItem.cs new file mode 100644 index 00000000..509ceda0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ExpenseLineItem.cs @@ -0,0 +1,77 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class ExpenseLineItem + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + /// + /// The unique identifier for the ledger account. + /// + [JsonProperty("account_id")] + public string? AccountId { get; set; } + + /// + /// The ID of the customer this expense item is linked to. + /// + [JsonProperty("customer_id")] + public string? CustomerId { get; set; } + + /// + /// The ID of the department this expense item is linked to. + /// + [JsonProperty("department_id")] + public string? DepartmentId { get; set; } + + /// + /// The ID of the location this expense item is linked to. + /// + [JsonProperty("location_id")] + public string? LocationId { get; set; } + + [JsonProperty("tax_rate")] + public LinkedTaxRate? TaxRate { get; set; } + + /// + /// The expense line item description + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The total amount of the expense line item. + /// + [JsonProperty("total_amount", NullValueHandling = NullValueHandling.Include)] + public double? TotalAmount { get; set; } + + /// + /// Boolean that indicates if the line item is billable or not. + /// + [JsonProperty("billable")] + public bool? Billable { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ExpenseLineItemInput.cs b/src/Apideck/Unify/SDK/Models/Components/ExpenseLineItemInput.cs new file mode 100644 index 00000000..77252cd6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ExpenseLineItemInput.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class ExpenseLineItemInput + { + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + /// + /// The unique identifier for the ledger account. + /// + [JsonProperty("account_id")] + public string? AccountId { get; set; } + + /// + /// The ID of the customer this expense item is linked to. + /// + [JsonProperty("customer_id")] + public string? CustomerId { get; set; } + + /// + /// The ID of the department this expense item is linked to. + /// + [JsonProperty("department_id")] + public string? DepartmentId { get; set; } + + /// + /// The ID of the location this expense item is linked to. + /// + [JsonProperty("location_id")] + public string? LocationId { get; set; } + + [JsonProperty("tax_rate")] + public LinkedTaxRateInput? TaxRate { get; set; } + + /// + /// The expense line item description + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The total amount of the expense line item. + /// + [JsonProperty("total_amount", NullValueHandling = NullValueHandling.Include)] + public double? TotalAmount { get; set; } + + /// + /// Boolean that indicates if the line item is billable or not. + /// + [JsonProperty("billable")] + public bool? Billable { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ExpensePaymentType.cs b/src/Apideck/Unify/SDK/Models/Components/ExpensePaymentType.cs new file mode 100644 index 00000000..ada5eb02 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ExpensePaymentType.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of payment for the expense. + /// + public enum ExpensePaymentType + { + [JsonProperty("cash")] + Cash, + [JsonProperty("check")] + Check, + [JsonProperty("credit_card")] + CreditCard, + } + + public static class ExpensePaymentTypeExtension + { + public static string Value(this ExpensePaymentType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ExpensePaymentType ToEnum(this string value) + { + foreach(var field in typeof(ExpensePaymentType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ExpensePaymentType) + { + return (ExpensePaymentType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ExpensePaymentType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ExpenseType.cs b/src/Apideck/Unify/SDK/Models/Components/ExpenseType.cs new file mode 100644 index 00000000..65a2caa3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ExpenseType.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of expense. + /// + public enum ExpenseType + { + [JsonProperty("expense")] + Expense, + [JsonProperty("refund")] + Refund, + } + + public static class ExpenseTypeExtension + { + public static string Value(this ExpenseType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ExpenseType ToEnum(this string value) + { + foreach(var field in typeof(ExpenseType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ExpenseType) + { + return (ExpenseType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ExpenseType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Expenses.cs b/src/Apideck/Unify/SDK/Models/Components/Expenses.cs new file mode 100644 index 00000000..0d3d1273 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Expenses.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Expenses + { + + /// + /// Total expense + /// + [JsonProperty("total", NullValueHandling = NullValueHandling.Include)] + public double? Total { get; set; } + + [JsonProperty("records")] + public object Records { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ExtendPaths.cs b/src/Apideck/Unify/SDK/Models/Components/ExtendPaths.cs new file mode 100644 index 00000000..2ac57696 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ExtendPaths.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ExtendPaths + { + + /// + /// JSONPath string specifying where to apply the value. + /// + [JsonProperty("path")] + public string Path { get; set; } = default!; + + /// + /// The value to set at the specified path, can be any type. + /// + [JsonProperty("value")] + public object Value { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/FileType.cs b/src/Apideck/Unify/SDK/Models/Components/FileType.cs new file mode 100644 index 00000000..1c1c66e6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/FileType.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of resource. Could be file, folder or url + /// + public enum FileType + { + [JsonProperty("file")] + File, + [JsonProperty("folder")] + Folder, + [JsonProperty("url")] + Url, + } + + public static class FileTypeExtension + { + public static string Value(this FileType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static FileType ToEnum(this string value) + { + foreach(var field in typeof(FileType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is FileType) + { + return (FileType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum FileType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/FilesFilter.cs b/src/Apideck/Unify/SDK/Models/Components/FilesFilter.cs new file mode 100644 index 00000000..b51349ac --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/FilesFilter.cs @@ -0,0 +1,35 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class FilesFilter + { + + /// + /// ID of the drive to filter on + /// + [SpeakeasyMetadata("queryParam:name=drive_id")] + public string? DriveId { get; set; } + + /// + /// ID of the folder to filter on. The root folder has an alias "root" + /// + [SpeakeasyMetadata("queryParam:name=folder_id")] + public string? FolderId { get; set; } + + /// + /// Only return files and folders that are shared + /// + [SpeakeasyMetadata("queryParam:name=shared")] + public bool? Shared { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/FilesSearch.cs b/src/Apideck/Unify/SDK/Models/Components/FilesSearch.cs new file mode 100644 index 00000000..9cb1c975 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/FilesSearch.cs @@ -0,0 +1,38 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class FilesSearch + { + + /// + /// The query to search for. May match across multiple fields. + /// + [JsonProperty("query")] + public string Query { get; set; } = default!; + + /// + /// ID of the drive to filter on + /// + [JsonProperty("drive_id")] + public string? DriveId { get; set; } + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/FilesSort.cs b/src/Apideck/Unify/SDK/Models/Components/FilesSort.cs new file mode 100644 index 00000000..23550f41 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/FilesSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class FilesSort + { + + /// + /// The field on which to sort the Files + /// + [SpeakeasyMetadata("queryParam:name=by")] + public FilesSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/FilesSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/FilesSortBy.cs new file mode 100644 index 00000000..84c88e76 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/FilesSortBy.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Files + /// + public enum FilesSortBy + { + [JsonProperty("updated_at")] + UpdatedAt, + [JsonProperty("name")] + Name, + } + + public static class FilesSortByExtension + { + public static string Value(this FilesSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static FilesSortBy ToEnum(this string value) + { + foreach(var field in typeof(FilesSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is FilesSortBy) + { + return (FilesSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum FilesSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Five.cs b/src/Apideck/Unify/SDK/Models/Components/Five.cs new file mode 100644 index 00000000..b8a8d364 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Five.cs @@ -0,0 +1,214 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json.Linq; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Numerics; + using System.Reflection; + using System; + + + public class FiveType + { + private FiveType(string value) { Value = value; } + + public string Value { get; private set; } + public static FiveType Str { get { return new FiveType("str"); } } + + public static FiveType Integer { get { return new FiveType("integer"); } } + + public static FiveType Number { get { return new FiveType("number"); } } + + public static FiveType Null { get { return new FiveType("null"); } } + + public override string ToString() { return Value; } + public static implicit operator String(FiveType v) { return v.Value; } + public static FiveType FromString(string v) { + switch(v) { + case "str": return Str; + case "integer": return Integer; + case "number": return Number; + case "null": return Null; + default: throw new ArgumentException("Invalid value for FiveType"); + } + } + public override bool Equals(object? obj) + { + if (obj == null || GetType() != obj.GetType()) + { + return false; + } + return Value.Equals(((FiveType)obj).Value); + } + + public override int GetHashCode() + { + return Value.GetHashCode(); + } + } + + + [JsonConverter(typeof(Five.FiveConverter))] + public class Five { + public Five(FiveType type) { + Type = type; + } + + [SpeakeasyMetadata("form:explode=true")] + public string? Str { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public long? Integer { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public double? Number { get; set; } + + public FiveType Type { get; set; } + + + public static Five CreateStr(string str) { + FiveType typ = FiveType.Str; + + Five res = new Five(typ); + res.Str = str; + return res; + } + + public static Five CreateInteger(long integer) { + FiveType typ = FiveType.Integer; + + Five res = new Five(typ); + res.Integer = integer; + return res; + } + + public static Five CreateNumber(double number) { + FiveType typ = FiveType.Number; + + Five res = new Five(typ); + res.Number = number; + return res; + } + + public static Five CreateNull() { + FiveType typ = FiveType.Null; + return new Five(typ); + } + + public class FiveConverter : JsonConverter + { + + public override bool CanConvert(System.Type objectType) => objectType == typeof(Five); + + public override bool CanRead => true; + + public override object? ReadJson(JsonReader reader, System.Type objectType, object? existingValue, JsonSerializer serializer) + { + var json = JRaw.Create(reader).ToString(); + if (json == "null") + { + return null; + } + + var fallbackCandidates = new List<(System.Type, object, string)>(); + + if (json[0] == '"' && json[^1] == '"'){ + return new Five(FiveType.Str) + { + Str = json[1..^1] + }; + } + + try + { + var converted = Convert.ToInt64(json); + return new Five(FiveType.Integer) + { + Integer = converted + }; + } + catch (System.FormatException) + { + // try next option + } + + try + { + var converted = Convert.ToDouble(json); + return new Five(FiveType.Number) + { + Number = converted + }; + } + catch (System.FormatException) + { + // try next option + } + + if (fallbackCandidates.Count > 0) + { + fallbackCandidates.Sort((a, b) => ResponseBodyDeserializer.CompareFallbackCandidates(a.Item1, b.Item1, json)); + foreach(var (deserializationType, returnObject, propertyName) in fallbackCandidates) + { + try + { + return ResponseBodyDeserializer.DeserializeUndiscriminatedUnionFallback(deserializationType, returnObject, propertyName, json); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next fallback option + } + catch (Exception) + { + throw; + } + } + } + + throw new InvalidOperationException("Could not deserialize into any supported types."); + } + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + if (value == null) { + writer.WriteRawValue("null"); + return; + } + Five res = (Five)value; + if (FiveType.FromString(res.Type).Equals(FiveType.Null)) + { + writer.WriteRawValue("null"); + return; + } + if (res.Str != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Str)); + return; + } + if (res.Integer != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Integer)); + return; + } + if (res.Number != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Number)); + return; + } + + } + + } + + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/FlsaStatus.cs b/src/Apideck/Unify/SDK/Models/Components/FlsaStatus.cs new file mode 100644 index 00000000..988ed357 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/FlsaStatus.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The FLSA status for this compensation. + /// + public enum FlsaStatus + { + [JsonProperty("exempt")] + Exempt, + [JsonProperty("salaried-nonexempt")] + SalariedNonexempt, + [JsonProperty("nonexempt")] + Nonexempt, + [JsonProperty("owner")] + Owner, + [JsonProperty("other")] + Other, + } + + public static class FlsaStatusExtension + { + public static string Value(this FlsaStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static FlsaStatus ToEnum(this string value) + { + foreach(var field in typeof(FlsaStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is FlsaStatus) + { + return (FlsaStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum FlsaStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Folder.cs b/src/Apideck/Unify/SDK/Models/Components/Folder.cs new file mode 100644 index 00000000..a991ea2b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Folder.cs @@ -0,0 +1,96 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class Folder + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The name of the folder + /// + [JsonProperty("name")] + public string Name { get; set; } = default!; + + /// + /// Optional description of the folder + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The full path of the folder (includes the folder name) + /// + [JsonProperty("path")] + public string? Path { get; set; } = null; + + /// + /// The size of the folder in bytes + /// + [JsonProperty("size")] + public long? Size { get; set; } = null; + + [JsonProperty("owner")] + public Owner? Owner { get; set; } + + /// + /// The parent folders of the file, starting from the root + /// + [JsonProperty("parent_folders")] + public List ParentFolders { get; set; } = default!; + + /// + /// Whether the list of parent folder is complete. Some connectors only return the direct parent of a folder + /// + [JsonProperty("parent_folders_complete")] + public bool? ParentFoldersComplete { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/FormField.cs b/src/Apideck/Unify/SDK/Models/Components/FormField.cs new file mode 100644 index 00000000..8dc7c53a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/FormField.cs @@ -0,0 +1,101 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class FormField + { + + /// + /// The unique identifier of the form field. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The label of the field + /// + [JsonProperty("label")] + public string? Label { get; set; } + + /// + /// The placeholder for the form field + /// + [JsonProperty("placeholder")] + public string? Placeholder { get; set; } = null; + + /// + /// The description of the form field + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + [JsonProperty("type")] + public FormFieldType? Type { get; set; } + + /// + /// Indicates if the form field is required, which means it must be filled in before the form can be submitted + /// + [JsonProperty("required")] + public bool? Required { get; set; } + + [JsonProperty("custom_field")] + public bool? CustomField { get; set; } + + /// + /// Only applicable to select fields. Allow the user to add a custom value though the option select if the desired value is not in the option select list. + /// + [JsonProperty("allow_custom_values")] + public bool? AllowCustomValues { get; set; } = false; + + /// + /// Indicates if the form field is displayed in a “read-only” mode. + /// + [JsonProperty("disabled")] + public bool? Disabled { get; set; } = null; + + /// + /// Indicates if the form field is not displayed but the value that is being stored on the connection. + /// + [JsonProperty("hidden")] + public bool? Hidden { get; set; } = null; + + /// + /// When the setting is deprecated, it should be hidden from the user interface. The value will still be stored on the connection for the sake of backwards compatibility. + /// + [JsonProperty("deprecated")] + public bool? Deprecated { get; set; } = null; + + /// + /// Indicates if the form field contains sensitive data, which will display the value as a masked input. + /// + [JsonProperty("sensitive")] + public bool? Sensitive { get; set; } = null; + + /// + /// Prefix to display in front of the form field. + /// + [JsonProperty("prefix")] + public string? Prefix { get; set; } = null; + + /// + /// Suffix to display next to the form field. + /// + [JsonProperty("suffix")] + public string? Suffix { get; set; } = null; + + [JsonProperty("options")] + public List? Options { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/FormFieldOption.cs b/src/Apideck/Unify/SDK/Models/Components/FormFieldOption.cs new file mode 100644 index 00000000..aff3d685 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/FormFieldOption.cs @@ -0,0 +1,203 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json.Linq; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Numerics; + using System.Reflection; + using System; + + + public class FormFieldOptionType + { + private FormFieldOptionType(string value) { Value = value; } + + public string Value { get; private set; } + public static FormFieldOptionType SimpleFormFieldOption { get { return new FormFieldOptionType("SimpleFormFieldOption"); } } + + public static FormFieldOptionType FormFieldOptionGroup { get { return new FormFieldOptionType("FormFieldOptionGroup"); } } + + public static FormFieldOptionType Null { get { return new FormFieldOptionType("null"); } } + + public override string ToString() { return Value; } + public static implicit operator String(FormFieldOptionType v) { return v.Value; } + public static FormFieldOptionType FromString(string v) { + switch(v) { + case "SimpleFormFieldOption": return SimpleFormFieldOption; + case "FormFieldOptionGroup": return FormFieldOptionGroup; + case "null": return Null; + default: throw new ArgumentException("Invalid value for FormFieldOptionType"); + } + } + public override bool Equals(object? obj) + { + if (obj == null || GetType() != obj.GetType()) + { + return false; + } + return Value.Equals(((FormFieldOptionType)obj).Value); + } + + public override int GetHashCode() + { + return Value.GetHashCode(); + } + } + + + [JsonConverter(typeof(FormFieldOption.FormFieldOptionConverter))] + public class FormFieldOption { + public FormFieldOption(FormFieldOptionType type) { + Type = type; + } + + [SpeakeasyMetadata("form:explode=true")] + public SimpleFormFieldOption? SimpleFormFieldOption { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public FormFieldOptionGroup? FormFieldOptionGroup { get; set; } + + public FormFieldOptionType Type { get; set; } + + + public static FormFieldOption CreateSimpleFormFieldOption(SimpleFormFieldOption simpleFormFieldOption) { + FormFieldOptionType typ = FormFieldOptionType.SimpleFormFieldOption; + + FormFieldOption res = new FormFieldOption(typ); + res.SimpleFormFieldOption = simpleFormFieldOption; + return res; + } + + public static FormFieldOption CreateFormFieldOptionGroup(FormFieldOptionGroup formFieldOptionGroup) { + FormFieldOptionType typ = FormFieldOptionType.FormFieldOptionGroup; + + FormFieldOption res = new FormFieldOption(typ); + res.FormFieldOptionGroup = formFieldOptionGroup; + return res; + } + + public static FormFieldOption CreateNull() { + FormFieldOptionType typ = FormFieldOptionType.Null; + return new FormFieldOption(typ); + } + + public class FormFieldOptionConverter : JsonConverter + { + + public override bool CanConvert(System.Type objectType) => objectType == typeof(FormFieldOption); + + public override bool CanRead => true; + + public override object? ReadJson(JsonReader reader, System.Type objectType, object? existingValue, JsonSerializer serializer) + { + var json = JRaw.Create(reader).ToString(); + if (json == "null") + { + return null; + } + + var fallbackCandidates = new List<(System.Type, object, string)>(); + + try + { + return new FormFieldOption(FormFieldOptionType.SimpleFormFieldOption) + { + SimpleFormFieldOption = ResponseBodyDeserializer.DeserializeUndiscriminatedUnionMember(json) + }; + } + catch (ResponseBodyDeserializer.MissingMemberException) + { + fallbackCandidates.Add((typeof(SimpleFormFieldOption), new FormFieldOption(FormFieldOptionType.SimpleFormFieldOption), "SimpleFormFieldOption")); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next option + } + catch (Exception) + { + throw; + } + + try + { + return new FormFieldOption(FormFieldOptionType.FormFieldOptionGroup) + { + FormFieldOptionGroup = ResponseBodyDeserializer.DeserializeUndiscriminatedUnionMember(json) + }; + } + catch (ResponseBodyDeserializer.MissingMemberException) + { + fallbackCandidates.Add((typeof(FormFieldOptionGroup), new FormFieldOption(FormFieldOptionType.FormFieldOptionGroup), "FormFieldOptionGroup")); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next option + } + catch (Exception) + { + throw; + } + + if (fallbackCandidates.Count > 0) + { + fallbackCandidates.Sort((a, b) => ResponseBodyDeserializer.CompareFallbackCandidates(a.Item1, b.Item1, json)); + foreach(var (deserializationType, returnObject, propertyName) in fallbackCandidates) + { + try + { + return ResponseBodyDeserializer.DeserializeUndiscriminatedUnionFallback(deserializationType, returnObject, propertyName, json); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next fallback option + } + catch (Exception) + { + throw; + } + } + } + + throw new InvalidOperationException("Could not deserialize into any supported types."); + } + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + if (value == null) { + writer.WriteRawValue("null"); + return; + } + FormFieldOption res = (FormFieldOption)value; + if (FormFieldOptionType.FromString(res.Type).Equals(FormFieldOptionType.Null)) + { + writer.WriteRawValue("null"); + return; + } + if (res.SimpleFormFieldOption != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.SimpleFormFieldOption)); + return; + } + if (res.FormFieldOptionGroup != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.FormFieldOptionGroup)); + return; + } + + } + + } + + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/FormFieldOptionGroup.cs b/src/Apideck/Unify/SDK/Models/Components/FormFieldOptionGroup.cs new file mode 100644 index 00000000..a620dc61 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/FormFieldOptionGroup.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class FormFieldOptionGroup + { + + [JsonProperty("id")] + public string? Id { get; set; } + + [JsonProperty("label")] + public string? Label { get; set; } + + [JsonProperty("options")] + public List? Options { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/FormFieldType.cs b/src/Apideck/Unify/SDK/Models/Components/FormFieldType.cs new file mode 100644 index 00000000..c6254202 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/FormFieldType.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum FormFieldType + { + [JsonProperty("text")] + Text, + [JsonProperty("checkbox")] + Checkbox, + [JsonProperty("tel")] + Tel, + [JsonProperty("email")] + Email, + [JsonProperty("url")] + Url, + [JsonProperty("textarea")] + Textarea, + [JsonProperty("select")] + Select, + [JsonProperty("filtered-select")] + FilteredSelect, + [JsonProperty("multi-select")] + MultiSelect, + [JsonProperty("datetime")] + Datetime, + [JsonProperty("date")] + Date, + [JsonProperty("time")] + Time, + [JsonProperty("number")] + Number, + } + + public static class FormFieldTypeExtension + { + public static string Value(this FormFieldType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static FormFieldType ToEnum(this string value) + { + foreach(var field in typeof(FormFieldType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is FormFieldType) + { + return (FormFieldType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum FormFieldType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Format.cs b/src/Apideck/Unify/SDK/Models/Components/Format.cs new file mode 100644 index 00000000..5ec80e72 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Format.cs @@ -0,0 +1,58 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Format of the doc. + /// + public enum Format + { + [JsonProperty("markdown")] + Markdown, + } + + public static class FormatExtension + { + public static string Value(this Format value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static Format ToEnum(this string value) + { + foreach(var field in typeof(Format).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is Format) + { + return (Format)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum Format"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Four.cs b/src/Apideck/Unify/SDK/Models/Components/Four.cs new file mode 100644 index 00000000..33fbe683 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Four.cs @@ -0,0 +1,17 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class Four + { + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/FulfillmentStatus.cs b/src/Apideck/Unify/SDK/Models/Components/FulfillmentStatus.cs new file mode 100644 index 00000000..d192946d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/FulfillmentStatus.cs @@ -0,0 +1,70 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Current fulfillment status of the order. + /// + public enum FulfillmentStatus + { + [JsonProperty("pending")] + Pending, + [JsonProperty("shipped")] + Shipped, + [JsonProperty("partial")] + Partial, + [JsonProperty("delivered")] + Delivered, + [JsonProperty("cancelled")] + Cancelled, + [JsonProperty("returned")] + Returned, + [JsonProperty("unknown")] + Unknown, + } + + public static class FulfillmentStatusExtension + { + public static string Value(this FulfillmentStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static FulfillmentStatus ToEnum(this string value) + { + foreach(var field in typeof(FulfillmentStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is FulfillmentStatus) + { + return (FulfillmentStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum FulfillmentStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Gender.cs b/src/Apideck/Unify/SDK/Models/Components/Gender.cs new file mode 100644 index 00000000..6578281e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Gender.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The gender represents the gender identity of a person. + /// + public enum Gender + { + [JsonProperty("male")] + Male, + [JsonProperty("female")] + Female, + [JsonProperty("unisex")] + Unisex, + [JsonProperty("other")] + Other, + [JsonProperty("not_specified")] + NotSpecified, + } + + public static class GenderExtension + { + public static string Value(this Gender value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static Gender ToEnum(this string value) + { + foreach(var field in typeof(Gender).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is Gender) + { + return (Gender)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum Gender"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetAccountingDepartmentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetAccountingDepartmentResponse.cs new file mode 100644 index 00000000..09057050 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetAccountingDepartmentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Location + /// + public class GetAccountingDepartmentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public AccountingDepartment Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetAccountingDepartmentsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetAccountingDepartmentsResponse.cs new file mode 100644 index 00000000..97b4502a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetAccountingDepartmentsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Departments + /// + public class GetAccountingDepartmentsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetAccountingLocationResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetAccountingLocationResponse.cs new file mode 100644 index 00000000..26c97a33 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetAccountingLocationResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Location + /// + public class GetAccountingLocationResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public AccountingLocation Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetAccountingLocationsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetAccountingLocationsResponse.cs new file mode 100644 index 00000000..d867920a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetAccountingLocationsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Locations + /// + public class GetAccountingLocationsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetActivitiesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetActivitiesResponse.cs new file mode 100644 index 00000000..ef7b5b46 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetActivitiesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Activities + /// + public class GetActivitiesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetActivityResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetActivityResponse.cs new file mode 100644 index 00000000..755a6586 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetActivityResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Activity + /// + public class GetActivityResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Activity Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetApiResourceCoverageResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetApiResourceCoverageResponse.cs new file mode 100644 index 00000000..7c10b7cd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetApiResourceCoverageResponse.cs @@ -0,0 +1,49 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// ApiResources + /// + public class GetApiResourceCoverageResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public Models.Components.ApiResourceCoverage Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetApiResourceResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetApiResourceResponse.cs new file mode 100644 index 00000000..7f43e6ab --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetApiResourceResponse.cs @@ -0,0 +1,49 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// ApiResources + /// + public class GetApiResourceResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public ApiResource Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetApiResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetApiResponse.cs new file mode 100644 index 00000000..3f4f4533 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetApiResponse.cs @@ -0,0 +1,49 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Apis + /// + public class GetApiResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public Api Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetApisResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetApisResponse.cs new file mode 100644 index 00000000..2099b581 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetApisResponse.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Apis + /// + public class GetApisResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetApplicantResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetApplicantResponse.cs new file mode 100644 index 00000000..4f30fd4b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetApplicantResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Applicants + /// + public class GetApplicantResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Applicant Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetApplicantsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetApplicantsResponse.cs new file mode 100644 index 00000000..e6a026e7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetApplicantsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Applicants + /// + public class GetApplicantsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetApplicationResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetApplicationResponse.cs new file mode 100644 index 00000000..00b175e8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetApplicationResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Applications + /// + public class GetApplicationResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Application Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetApplicationsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetApplicationsResponse.cs new file mode 100644 index 00000000..0b74998e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetApplicationsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Applications + /// + public class GetApplicationsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetAttachmentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetAttachmentResponse.cs new file mode 100644 index 00000000..6626698f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetAttachmentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Attachments + /// + public class GetAttachmentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Attachment Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetAttachmentsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetAttachmentsResponse.cs new file mode 100644 index 00000000..5fbd455e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetAttachmentsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Attachments + /// + public class GetAttachmentsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetBalanceSheetResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetBalanceSheetResponse.cs new file mode 100644 index 00000000..434b49bc --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetBalanceSheetResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// BalanceSheet + /// + public class GetBalanceSheetResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Models.Components.BalanceSheet Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetBillPaymentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetBillPaymentResponse.cs new file mode 100644 index 00000000..16550f64 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetBillPaymentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Bill Payment + /// + public class GetBillPaymentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public BillPayment Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetBillPaymentsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetBillPaymentsResponse.cs new file mode 100644 index 00000000..cf566572 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetBillPaymentsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Bill Payments + /// + public class GetBillPaymentsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetBillResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetBillResponse.cs new file mode 100644 index 00000000..a849cc1e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetBillResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Bill + /// + public class GetBillResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Bill Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetBillsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetBillsResponse.cs new file mode 100644 index 00000000..321c60ae --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetBillsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Bills + /// + public class GetBillsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCollectionResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCollectionResponse.cs new file mode 100644 index 00000000..03f949e5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCollectionResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Get a Collection + /// + public class GetCollectionResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Collection Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCollectionTagsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCollectionTagsResponse.cs new file mode 100644 index 00000000..6b617ccd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCollectionTagsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// List Tags + /// + public class GetCollectionTagsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCollectionUserResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCollectionUserResponse.cs new file mode 100644 index 00000000..b5e15c5e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCollectionUserResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// User + /// + public class GetCollectionUserResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public CollectionUser Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCollectionUsersResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCollectionUsersResponse.cs new file mode 100644 index 00000000..f71b47ff --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCollectionUsersResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Users + /// + public class GetCollectionUsersResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCollectionsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCollectionsResponse.cs new file mode 100644 index 00000000..e52d1a4b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCollectionsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// List Collections + /// + public class GetCollectionsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCommentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCommentResponse.cs new file mode 100644 index 00000000..113d3ab2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCommentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Get a Comment + /// + public class GetCommentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public CollectionTicketComment Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCommentsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCommentsResponse.cs new file mode 100644 index 00000000..b3d9e401 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCommentsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// List Comments + /// + public class GetCommentsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCompaniesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCompaniesResponse.cs new file mode 100644 index 00000000..1af835c1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCompaniesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Companies + /// + public class GetCompaniesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCompanyInfoResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCompanyInfoResponse.cs new file mode 100644 index 00000000..f3a8b28b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCompanyInfoResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// CompanyInfo + /// + public class GetCompanyInfoResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Models.Components.CompanyInfo Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCompanyResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCompanyResponse.cs new file mode 100644 index 00000000..7d013fc7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCompanyResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Company + /// + public class GetCompanyResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Company Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetConnectionResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetConnectionResponse.cs new file mode 100644 index 00000000..0418e072 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetConnectionResponse.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Connection + /// + public class GetConnectionResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public Connection Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetConnectionsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetConnectionsResponse.cs new file mode 100644 index 00000000..9d5876c6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetConnectionsResponse.cs @@ -0,0 +1,38 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Connections + /// + public class GetConnectionsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetConnectorResourceResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetConnectorResourceResponse.cs new file mode 100644 index 00000000..036a9103 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetConnectorResourceResponse.cs @@ -0,0 +1,49 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// ConnectorResources + /// + public class GetConnectorResourceResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public ConnectorResource Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetConnectorResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetConnectorResponse.cs new file mode 100644 index 00000000..bf5a459d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetConnectorResponse.cs @@ -0,0 +1,49 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Connectors + /// + public class GetConnectorResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public Models.Components.Connector Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetConnectorsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetConnectorsResponse.cs new file mode 100644 index 00000000..6033d2e0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetConnectorsResponse.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Connectors + /// + public class GetConnectorsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetConsumerResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetConsumerResponse.cs new file mode 100644 index 00000000..ce5d1b8b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetConsumerResponse.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Consumer + /// + public class GetConsumerResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public Consumer Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetConsumersResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetConsumersResponse.cs new file mode 100644 index 00000000..1c5c6fa0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetConsumersResponse.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Consumers + /// + public class GetConsumersResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetContactResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetContactResponse.cs new file mode 100644 index 00000000..5211b89f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetContactResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Contact + /// + public class GetContactResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Contact Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetContactsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetContactsResponse.cs new file mode 100644 index 00000000..bff0e5bc --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetContactsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Contacts + /// + public class GetContactsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCreditNoteResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCreditNoteResponse.cs new file mode 100644 index 00000000..96f3eb30 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCreditNoteResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Credit Note + /// + public class GetCreditNoteResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public CreditNote Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCreditNotesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCreditNotesResponse.cs new file mode 100644 index 00000000..342fdb39 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCreditNotesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Credit Notes + /// + public class GetCreditNotesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCustomFieldsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCustomFieldsResponse.cs new file mode 100644 index 00000000..0edc477f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCustomFieldsResponse.cs @@ -0,0 +1,38 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Custom mapping + /// + public class GetCustomFieldsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCustomMappingsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCustomMappingsResponse.cs new file mode 100644 index 00000000..24436f44 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCustomMappingsResponse.cs @@ -0,0 +1,38 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Custom mapping + /// + public class GetCustomMappingsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCustomerResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCustomerResponse.cs new file mode 100644 index 00000000..c2ca19ad --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCustomerResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Customer + /// + public class GetCustomerResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Customer Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetCustomersResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetCustomersResponse.cs new file mode 100644 index 00000000..2bfa2cae --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetCustomersResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Customers + /// + public class GetCustomersResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetDepartmentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetDepartmentResponse.cs new file mode 100644 index 00000000..f9dc3e49 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetDepartmentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Departments + /// + public class GetDepartmentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Department Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetDepartmentsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetDepartmentsResponse.cs new file mode 100644 index 00000000..0edcbdbe --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetDepartmentsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Departments + /// + public class GetDepartmentsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetDriveGroupResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetDriveGroupResponse.cs new file mode 100644 index 00000000..4e5948b0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetDriveGroupResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// DriveGroups + /// + public class GetDriveGroupResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public DriveGroup Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetDriveGroupsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetDriveGroupsResponse.cs new file mode 100644 index 00000000..ba35463a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetDriveGroupsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// DriveGroups + /// + public class GetDriveGroupsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetDriveResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetDriveResponse.cs new file mode 100644 index 00000000..bacf2bae --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetDriveResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Drives + /// + public class GetDriveResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Drive Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetDrivesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetDrivesResponse.cs new file mode 100644 index 00000000..5fb49b90 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetDrivesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Drives + /// + public class GetDrivesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetEcommerceCustomerResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetEcommerceCustomerResponse.cs new file mode 100644 index 00000000..135043c6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetEcommerceCustomerResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Customers + /// + public class GetEcommerceCustomerResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public EcommerceCustomer Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetEcommerceCustomersResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetEcommerceCustomersResponse.cs new file mode 100644 index 00000000..62bd2cef --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetEcommerceCustomersResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Customers + /// + public class GetEcommerceCustomersResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetEcommerceOrderResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetEcommerceOrderResponse.cs new file mode 100644 index 00000000..6f3a0be2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetEcommerceOrderResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Orders + /// + public class GetEcommerceOrderResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public EcommerceOrder Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetEcommerceOrdersResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetEcommerceOrdersResponse.cs new file mode 100644 index 00000000..acaca7a9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetEcommerceOrdersResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Orders + /// + public class GetEcommerceOrdersResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetEmployeePayrollResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetEmployeePayrollResponse.cs new file mode 100644 index 00000000..ee2b7871 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetEmployeePayrollResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Payrolls + /// + public class GetEmployeePayrollResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public EmployeePayroll Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetEmployeePayrollsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetEmployeePayrollsResponse.cs new file mode 100644 index 00000000..5a60b14d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetEmployeePayrollsResponse.cs @@ -0,0 +1,56 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// EmployeePayrolls + /// + public class GetEmployeePayrollsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetEmployeeResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetEmployeeResponse.cs new file mode 100644 index 00000000..b99294e0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetEmployeeResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Employees + /// + public class GetEmployeeResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Employee Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetEmployeeSchedulesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetEmployeeSchedulesResponse.cs new file mode 100644 index 00000000..b9db717b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetEmployeeSchedulesResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// EmployeeSchedules + /// + public class GetEmployeeSchedulesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Models.Components.EmployeeSchedules Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetEmployeesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetEmployeesResponse.cs new file mode 100644 index 00000000..fbc3c299 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetEmployeesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Employees + /// + public class GetEmployeesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetExpenseResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetExpenseResponse.cs new file mode 100644 index 00000000..cd350a10 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetExpenseResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Expenses + /// + public class GetExpenseResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Expense Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetExpensesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetExpensesResponse.cs new file mode 100644 index 00000000..0c92516c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetExpensesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Expenses + /// + public class GetExpensesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetFileResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetFileResponse.cs new file mode 100644 index 00000000..ad9aaff3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetFileResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// File + /// + public class GetFileResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedFile Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetFilesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetFilesResponse.cs new file mode 100644 index 00000000..2e3e4dd5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetFilesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Files + /// + public class GetFilesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetFolderResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetFolderResponse.cs new file mode 100644 index 00000000..75ab4e2b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetFolderResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Folders + /// + public class GetFolderResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Folder Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetHrisCompaniesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetHrisCompaniesResponse.cs new file mode 100644 index 00000000..ee6eec9e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetHrisCompaniesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Companies + /// + public class GetHrisCompaniesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetHrisCompanyResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetHrisCompanyResponse.cs new file mode 100644 index 00000000..57dd395c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetHrisCompanyResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Company + /// + public class GetHrisCompanyResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public HrisCompany Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetInvoiceItemResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetInvoiceItemResponse.cs new file mode 100644 index 00000000..d6ccccf6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetInvoiceItemResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// InvoiceItems + /// + public class GetInvoiceItemResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public InvoiceItem Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetInvoiceItemsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetInvoiceItemsResponse.cs new file mode 100644 index 00000000..70e9c623 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetInvoiceItemsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// InvoiceItems + /// + public class GetInvoiceItemsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetInvoiceResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetInvoiceResponse.cs new file mode 100644 index 00000000..974f82df --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetInvoiceResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Invoice + /// + public class GetInvoiceResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Invoice Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetInvoicesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetInvoicesResponse.cs new file mode 100644 index 00000000..9f41445c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetInvoicesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Invoices + /// + public class GetInvoicesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetJobResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetJobResponse.cs new file mode 100644 index 00000000..229ebf91 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetJobResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Jobs + /// + public class GetJobResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Job Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetJobsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetJobsResponse.cs new file mode 100644 index 00000000..69f29cd6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetJobsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Jobs + /// + public class GetJobsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetJournalEntriesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetJournalEntriesResponse.cs new file mode 100644 index 00000000..763bc609 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetJournalEntriesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// JournalEntry + /// + public class GetJournalEntriesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetJournalEntryResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetJournalEntryResponse.cs new file mode 100644 index 00000000..a7f2a327 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetJournalEntryResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// JournalEntries + /// + public class GetJournalEntryResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public JournalEntry Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetLeadResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetLeadResponse.cs new file mode 100644 index 00000000..53e2964f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetLeadResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Lead + /// + public class GetLeadResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Lead Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetLeadsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetLeadsResponse.cs new file mode 100644 index 00000000..d7cf3704 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetLeadsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Leads + /// + public class GetLeadsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetLedgerAccountResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetLedgerAccountResponse.cs new file mode 100644 index 00000000..88a03104 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetLedgerAccountResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// LedgerAccount + /// + public class GetLedgerAccountResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public LedgerAccount Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetLedgerAccountsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetLedgerAccountsResponse.cs new file mode 100644 index 00000000..947d3a91 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetLedgerAccountsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// LedgerAccounts + /// + public class GetLedgerAccountsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetLogsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetLogsResponse.cs new file mode 100644 index 00000000..a7d42732 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetLogsResponse.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Logs + /// + public class GetLogsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetMessageResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetMessageResponse.cs new file mode 100644 index 00000000..a13225af --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetMessageResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Messages + /// + public class GetMessageResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Message Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetMessagesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetMessagesResponse.cs new file mode 100644 index 00000000..53a4ab06 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetMessagesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Messages + /// + public class GetMessagesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetNoteResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetNoteResponse.cs new file mode 100644 index 00000000..0ea4493e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetNoteResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Note + /// + public class GetNoteResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Note Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetNotesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetNotesResponse.cs new file mode 100644 index 00000000..73342e85 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetNotesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Notes + /// + public class GetNotesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetOpportunitiesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetOpportunitiesResponse.cs new file mode 100644 index 00000000..aefc034d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetOpportunitiesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Opportunities + /// + public class GetOpportunitiesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetOpportunityResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetOpportunityResponse.cs new file mode 100644 index 00000000..d5ec3221 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetOpportunityResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Opportunity + /// + public class GetOpportunityResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Opportunity Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetPaymentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetPaymentResponse.cs new file mode 100644 index 00000000..e40871c1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetPaymentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Payment + /// + public class GetPaymentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Payment Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetPaymentsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetPaymentsResponse.cs new file mode 100644 index 00000000..d766afac --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetPaymentsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Payments + /// + public class GetPaymentsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetPayrollResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetPayrollResponse.cs new file mode 100644 index 00000000..a1ce62f0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetPayrollResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Payrolls + /// + public class GetPayrollResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Payroll Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetPayrollsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetPayrollsResponse.cs new file mode 100644 index 00000000..4d4f5649 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetPayrollsResponse.cs @@ -0,0 +1,56 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Payrolls + /// + public class GetPayrollsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetPipelineResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetPipelineResponse.cs new file mode 100644 index 00000000..ee5b9f64 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetPipelineResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Pipeline + /// + public class GetPipelineResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Pipeline Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetPipelinesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetPipelinesResponse.cs new file mode 100644 index 00000000..fa97a125 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetPipelinesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Pipelines + /// + public class GetPipelinesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetProductResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetProductResponse.cs new file mode 100644 index 00000000..2ec91e17 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetProductResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Products + /// + public class GetProductResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public EcommerceProduct Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetProductsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetProductsResponse.cs new file mode 100644 index 00000000..3a16ce54 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetProductsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Products + /// + public class GetProductsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetProfitAndLossResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetProfitAndLossResponse.cs new file mode 100644 index 00000000..da0292c8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetProfitAndLossResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Profit & Loss Report + /// + public class GetProfitAndLossResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Models.Components.ProfitAndLoss Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetPurchaseOrderResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetPurchaseOrderResponse.cs new file mode 100644 index 00000000..bfcaba1b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetPurchaseOrderResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// PurchaseOrders + /// + public class GetPurchaseOrderResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public PurchaseOrder Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetPurchaseOrdersResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetPurchaseOrdersResponse.cs new file mode 100644 index 00000000..661e1690 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetPurchaseOrdersResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// PurchaseOrders + /// + public class GetPurchaseOrdersResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetSharedLinkResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetSharedLinkResponse.cs new file mode 100644 index 00000000..54a52f90 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetSharedLinkResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Shared Link + /// + public class GetSharedLinkResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public SharedLink Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetSharedLinksResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetSharedLinksResponse.cs new file mode 100644 index 00000000..ccab0e2c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetSharedLinksResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Shared Links + /// + public class GetSharedLinksResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetStoreResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetStoreResponse.cs new file mode 100644 index 00000000..64d4fff2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetStoreResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Stores + /// + public class GetStoreResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public EcommerceStore Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetSubsidiariesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetSubsidiariesResponse.cs new file mode 100644 index 00000000..304f42c2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetSubsidiariesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Subsidiaries + /// + public class GetSubsidiariesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetSubsidiaryResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetSubsidiaryResponse.cs new file mode 100644 index 00000000..5774a66c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetSubsidiaryResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Subsidiary + /// + public class GetSubsidiaryResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Subsidiary Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetSupplierResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetSupplierResponse.cs new file mode 100644 index 00000000..952f1b48 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetSupplierResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Supplier + /// + public class GetSupplierResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Supplier Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetSuppliersResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetSuppliersResponse.cs new file mode 100644 index 00000000..f572763e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetSuppliersResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Suppliers + /// + public class GetSuppliersResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetTaxRateResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetTaxRateResponse.cs new file mode 100644 index 00000000..bea969e0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetTaxRateResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// TaxRate + /// + public class GetTaxRateResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public TaxRate Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetTaxRatesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetTaxRatesResponse.cs new file mode 100644 index 00000000..c6655c0a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetTaxRatesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// TaxRates + /// + public class GetTaxRatesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetTicketResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetTicketResponse.cs new file mode 100644 index 00000000..e153014d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetTicketResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Get a Ticket + /// + public class GetTicketResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public Ticket Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetTicketsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetTicketsResponse.cs new file mode 100644 index 00000000..9bcafd32 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetTicketsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// List Tickets + /// + public class GetTicketsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetTimeOffRequestResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetTimeOffRequestResponse.cs new file mode 100644 index 00000000..d7524fd0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetTimeOffRequestResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// TimeOffRequests + /// + public class GetTimeOffRequestResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public TimeOffRequest Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetTimeOffRequestsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetTimeOffRequestsResponse.cs new file mode 100644 index 00000000..117fe8ad --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetTimeOffRequestsResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// TimeOffRequests + /// + public class GetTimeOffRequestsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetTrackingCategoriesResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetTrackingCategoriesResponse.cs new file mode 100644 index 00000000..325e07ef --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetTrackingCategoriesResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Tracking categories + /// + public class GetTrackingCategoriesResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetTrackingCategoryResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetTrackingCategoryResponse.cs new file mode 100644 index 00000000..1a575d6c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetTrackingCategoryResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Tracking category + /// + public class GetTrackingCategoryResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public TrackingCategory Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetUploadSessionResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetUploadSessionResponse.cs new file mode 100644 index 00000000..c6fd5425 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetUploadSessionResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// UploadSessions + /// + public class GetUploadSessionResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UploadSession Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetUserResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetUserResponse.cs new file mode 100644 index 00000000..893ee8b7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetUserResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// User + /// + public class GetUserResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public User Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetUsersResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetUsersResponse.cs new file mode 100644 index 00000000..d132845e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetUsersResponse.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Users + /// + public class GetUsersResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetWebhookResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetWebhookResponse.cs new file mode 100644 index 00000000..a9635995 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetWebhookResponse.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Webhooks + /// + public class GetWebhookResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public Models.Components.Webhook Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GetWebhooksResponse.cs b/src/Apideck/Unify/SDK/Models/Components/GetWebhooksResponse.cs new file mode 100644 index 00000000..16feddbe --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GetWebhooksResponse.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Webhooks + /// + public class GetWebhooksResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public List Data { get; set; } = default!; + + /// + /// Response metadata + /// + [JsonProperty("meta")] + public Meta? Meta { get; set; } + + /// + /// Links to navigate to previous or next pages through the API + /// + [JsonProperty("links")] + public Links? Links { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/GrossProfit.cs b/src/Apideck/Unify/SDK/Models/Components/GrossProfit.cs new file mode 100644 index 00000000..459dd861 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/GrossProfit.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class GrossProfit + { + + /// + /// Total gross profit + /// + [JsonProperty("total", NullValueHandling = NullValueHandling.Include)] + public double? Total { get; set; } + + [JsonProperty("records")] + public object Records { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/HTTPMetadata.cs b/src/Apideck/Unify/SDK/Models/Components/HTTPMetadata.cs new file mode 100644 index 00000000..8bcb4461 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/HTTPMetadata.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Net.Http; + using System; + + public class HTTPMetadata + { + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + [JsonProperty("-")] + public HttpResponseMessage Response { get; set; } = default!; + + /// + /// Raw HTTP request; suitable for debugging + /// + [JsonProperty("-")] + public HttpRequestMessage Request { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/HrisCompany.cs b/src/Apideck/Unify/SDK/Models/Components/HrisCompany.cs new file mode 100644 index 00000000..90d57355 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/HrisCompany.cs @@ -0,0 +1,105 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class HrisCompany + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + [JsonProperty("legal_name", NullValueHandling = NullValueHandling.Include)] + public string? LegalName { get; set; } + + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + [JsonProperty("subdomain")] + public string? Subdomain { get; set; } = null; + + [JsonProperty("status")] + public HrisCompanyStatus? Status { get; set; } + + /// + /// An Company Number, Company ID or Company Code, is a unique number that has been assigned to each company. + /// + [JsonProperty("company_number")] + public string? CompanyNumber { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("websites")] + public List? Websites { get; set; } + + [JsonProperty("debtor_id")] + public string? DebtorId { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + [JsonProperty("deleted")] + public bool? Deleted { get; set; } + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/HrisCompanyInput.cs b/src/Apideck/Unify/SDK/Models/Components/HrisCompanyInput.cs new file mode 100644 index 00000000..887c8cbe --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/HrisCompanyInput.cs @@ -0,0 +1,65 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class HrisCompanyInput + { + + [JsonProperty("legal_name", NullValueHandling = NullValueHandling.Include)] + public string? LegalName { get; set; } + + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + [JsonProperty("subdomain")] + public string? Subdomain { get; set; } = null; + + [JsonProperty("status")] + public HrisCompanyStatus? Status { get; set; } + + /// + /// An Company Number, Company ID or Company Code, is a unique number that has been assigned to each company. + /// + [JsonProperty("company_number")] + public string? CompanyNumber { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("websites")] + public List? Websites { get; set; } + + [JsonProperty("debtor_id")] + public string? DebtorId { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/HrisCompanyStatus.cs b/src/Apideck/Unify/SDK/Models/Components/HrisCompanyStatus.cs new file mode 100644 index 00000000..150d31a5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/HrisCompanyStatus.cs @@ -0,0 +1,61 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum HrisCompanyStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("inactive")] + Inactive, + [JsonProperty("trial")] + Trial, + [JsonProperty("other")] + Other, + } + + public static class HrisCompanyStatusExtension + { + public static string Value(this HrisCompanyStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static HrisCompanyStatus ToEnum(this string value) + { + foreach(var field in typeof(HrisCompanyStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is HrisCompanyStatus) + { + return (HrisCompanyStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum HrisCompanyStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Images.cs b/src/Apideck/Unify/SDK/Models/Components/Images.cs new file mode 100644 index 00000000..616ea0b2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Images.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Images + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The URL of an image of the product. + /// + [JsonProperty("url")] + public string? Url { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Income.cs b/src/Apideck/Unify/SDK/Models/Components/Income.cs new file mode 100644 index 00000000..6aaf5cb3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Income.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Income + { + + /// + /// Total income + /// + [JsonProperty("total", NullValueHandling = NullValueHandling.Include)] + public double? Total { get; set; } + + [JsonProperty("records")] + public object Records { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/IntegrationState.cs b/src/Apideck/Unify/SDK/Models/Components/IntegrationState.cs new file mode 100644 index 00000000..469d70b3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/IntegrationState.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The current state of the Integration. + /// + public enum IntegrationState + { + [JsonProperty("disabled")] + Disabled, + [JsonProperty("needs_configuration")] + NeedsConfiguration, + [JsonProperty("configured")] + Configured, + } + + public static class IntegrationStateExtension + { + public static string Value(this IntegrationState value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static IntegrationState ToEnum(this string value) + { + foreach(var field in typeof(IntegrationState).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is IntegrationState) + { + return (IntegrationState)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum IntegrationState"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Invoice.cs b/src/Apideck/Unify/SDK/Models/Components/Invoice.cs new file mode 100644 index 00000000..2e734955 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Invoice.cs @@ -0,0 +1,278 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class Invoice + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The third-party API ID of original entity + /// + [JsonProperty("downstream_id")] + public string? DownstreamId { get; set; } = null; + + /// + /// Invoice type + /// + [JsonProperty("type")] + public InvoiceType? Type { get; set; } = null; + + /// + /// Invoice number. + /// + [JsonProperty("number")] + public string? Number { get; set; } = null; + + /// + /// The customer this entity is linked to. + /// + [JsonProperty("customer")] + public LinkedCustomer? Customer { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// Date invoice was issued - YYYY-MM-DD. + /// + [JsonProperty("invoice_date")] + public LocalDate? InvoiceDate { get; set; } = null; + + /// + /// The invoice due date is the date on which a payment or invoice is scheduled to be received by the seller - YYYY-MM-DD. + /// + [JsonProperty("due_date")] + public LocalDate? DueDate { get; set; } = null; + + /// + /// Terms of payment. + /// + [JsonProperty("terms")] + public string? Terms { get; set; } = null; + + /// + /// A PO Number uniquely identifies a purchase order and is generally defined by the buyer. The buyer will match the PO number in the invoice to the Purchase Order. + /// + [JsonProperty("po_number")] + public string? PoNumber { get; set; } = null; + + /// + /// Optional invoice reference. + /// + [JsonProperty("reference")] + public string? Reference { get; set; } = null; + + /// + /// Invoice status + /// + [JsonProperty("status")] + public InvoiceStatus? Status { get; set; } = null; + + /// + /// Invoice sent to contact/customer. + /// + [JsonProperty("invoice_sent")] + public bool? InvoiceSent { get; set; } + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// Amounts are including tax + /// + [JsonProperty("tax_inclusive")] + public bool? TaxInclusive { get; set; } = null; + + /// + /// Sub-total amount, normally before tax. + /// + [JsonProperty("sub_total")] + public double? SubTotal { get; set; } = null; + + /// + /// Total tax amount applied to this invoice. + /// + [JsonProperty("total_tax")] + public double? TotalTax { get; set; } = null; + + /// + /// Applicable tax id/code override if tax is not supplied on a line item basis. + /// + [JsonProperty("tax_code")] + public string? TaxCode { get; set; } = null; + + /// + /// Discount percentage applied to this invoice. + /// + [JsonProperty("discount_percentage")] + public double? DiscountPercentage { get; set; } = null; + + /// + /// Discount amount applied to this invoice. + /// + [JsonProperty("discount_amount")] + public double? DiscountAmount { get; set; } = null; + + /// + /// Total amount of invoice, including tax. + /// + [JsonProperty("total")] + public double? Total { get; set; } = null; + + /// + /// Balance of invoice due. + /// + [JsonProperty("balance")] + public double? Balance { get; set; } = null; + + /// + /// Amount of deposit made to this invoice. + /// + [JsonProperty("deposit")] + public double? Deposit { get; set; } = null; + + /// + /// Customer memo + /// + [JsonProperty("customer_memo")] + public string? CustomerMemo { get; set; } = null; + + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("tracking_category")] + public DeprecatedLinkedTrackingCategory? TrackingCategory { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + [JsonProperty("line_items")] + public List? LineItems { get; set; } + + [JsonProperty("billing_address")] + public Address? BillingAddress { get; set; } + + [JsonProperty("shipping_address")] + public Address? ShippingAddress { get; set; } + + /// + /// Optional invoice template + /// + [JsonProperty("template_id")] + public string? TemplateId { get; set; } = null; + + /// + /// URL link to a source document - shown as 'Go to [appName]' in the downstream app. Currently only supported for Xero. + /// + [JsonProperty("source_document_url")] + public string? SourceDocumentUrl { get; set; } = null; + + /// + /// Payment method used for the transaction, such as cash, credit card, bank transfer, or check + /// + [JsonProperty("payment_method")] + public string? PaymentMethod { get; set; } = null; + + /// + /// The channel through which the transaction is processed. + /// + [JsonProperty("channel")] + public string? Channel { get; set; } = null; + + /// + /// language code according to ISO 639-1. For the United States - EN + /// + [JsonProperty("language")] + public string? Language { get; set; } = null; + + /// + /// Indicates if accounting by row is used (true) or not (false). Accounting by row means that a separate ledger transaction is created for each row. + /// + [JsonProperty("accounting_by_row")] + public bool? AccountingByRow { get; set; } = null; + + [JsonProperty("bank_account")] + public BankAccount? BankAccount { get; set; } + + [JsonProperty("ledger_account")] + public LinkedLedgerAccount? LedgerAccount { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceInput.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceInput.cs new file mode 100644 index 00000000..ae49f31d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceInput.cs @@ -0,0 +1,236 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class InvoiceInput + { + + /// + /// Invoice type + /// + [JsonProperty("type")] + public InvoiceType? Type { get; set; } = null; + + /// + /// Invoice number. + /// + [JsonProperty("number")] + public string? Number { get; set; } = null; + + /// + /// The customer this entity is linked to. + /// + [JsonProperty("customer")] + public LinkedCustomerInput? Customer { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// Date invoice was issued - YYYY-MM-DD. + /// + [JsonProperty("invoice_date")] + public LocalDate? InvoiceDate { get; set; } = null; + + /// + /// The invoice due date is the date on which a payment or invoice is scheduled to be received by the seller - YYYY-MM-DD. + /// + [JsonProperty("due_date")] + public LocalDate? DueDate { get; set; } = null; + + /// + /// Terms of payment. + /// + [JsonProperty("terms")] + public string? Terms { get; set; } = null; + + /// + /// A PO Number uniquely identifies a purchase order and is generally defined by the buyer. The buyer will match the PO number in the invoice to the Purchase Order. + /// + [JsonProperty("po_number")] + public string? PoNumber { get; set; } = null; + + /// + /// Optional invoice reference. + /// + [JsonProperty("reference")] + public string? Reference { get; set; } = null; + + /// + /// Invoice status + /// + [JsonProperty("status")] + public InvoiceStatus? Status { get; set; } = null; + + /// + /// Invoice sent to contact/customer. + /// + [JsonProperty("invoice_sent")] + public bool? InvoiceSent { get; set; } + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// Amounts are including tax + /// + [JsonProperty("tax_inclusive")] + public bool? TaxInclusive { get; set; } = null; + + /// + /// Sub-total amount, normally before tax. + /// + [JsonProperty("sub_total")] + public double? SubTotal { get; set; } = null; + + /// + /// Total tax amount applied to this invoice. + /// + [JsonProperty("total_tax")] + public double? TotalTax { get; set; } = null; + + /// + /// Applicable tax id/code override if tax is not supplied on a line item basis. + /// + [JsonProperty("tax_code")] + public string? TaxCode { get; set; } = null; + + /// + /// Discount percentage applied to this invoice. + /// + [JsonProperty("discount_percentage")] + public double? DiscountPercentage { get; set; } = null; + + /// + /// Discount amount applied to this invoice. + /// + [JsonProperty("discount_amount")] + public double? DiscountAmount { get; set; } = null; + + /// + /// Total amount of invoice, including tax. + /// + [JsonProperty("total")] + public double? Total { get; set; } = null; + + /// + /// Balance of invoice due. + /// + [JsonProperty("balance")] + public double? Balance { get; set; } = null; + + /// + /// Amount of deposit made to this invoice. + /// + [JsonProperty("deposit")] + public double? Deposit { get; set; } = null; + + /// + /// Customer memo + /// + [JsonProperty("customer_memo")] + public string? CustomerMemo { get; set; } = null; + + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("tracking_category")] + public DeprecatedLinkedTrackingCategory? TrackingCategory { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + [JsonProperty("line_items")] + public List? LineItems { get; set; } + + [JsonProperty("billing_address")] + public Address? BillingAddress { get; set; } + + [JsonProperty("shipping_address")] + public Address? ShippingAddress { get; set; } + + /// + /// Optional invoice template + /// + [JsonProperty("template_id")] + public string? TemplateId { get; set; } = null; + + /// + /// URL link to a source document - shown as 'Go to [appName]' in the downstream app. Currently only supported for Xero. + /// + [JsonProperty("source_document_url")] + public string? SourceDocumentUrl { get; set; } = null; + + /// + /// Payment method used for the transaction, such as cash, credit card, bank transfer, or check + /// + [JsonProperty("payment_method")] + public string? PaymentMethod { get; set; } = null; + + /// + /// The channel through which the transaction is processed. + /// + [JsonProperty("channel")] + public string? Channel { get; set; } = null; + + /// + /// language code according to ISO 639-1. For the United States - EN + /// + [JsonProperty("language")] + public string? Language { get; set; } = null; + + /// + /// Indicates if accounting by row is used (true) or not (false). Accounting by row means that a separate ledger transaction is created for each row. + /// + [JsonProperty("accounting_by_row")] + public bool? AccountingByRow { get; set; } = null; + + [JsonProperty("bank_account")] + public BankAccount? BankAccount { get; set; } + + [JsonProperty("ledger_account")] + public LinkedLedgerAccountInput? LedgerAccount { get; set; } = null; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceItem.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceItem.cs new file mode 100644 index 00000000..2b0be38b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceItem.cs @@ -0,0 +1,158 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class InvoiceItem + { + + /// + /// The ID of the item. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Item name + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// A short description of the item + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// User defined item code + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + + /// + /// Item will be available on sales transactions + /// + [JsonProperty("sold")] + public bool? Sold { get; set; } = null; + + /// + /// Item is available for purchase transactions + /// + [JsonProperty("purchased")] + public bool? Purchased { get; set; } = null; + + /// + /// Item is inventoried + /// + [JsonProperty("tracked")] + public bool? Tracked { get; set; } = null; + + /// + /// If true, transactions for this item are taxable + /// + [JsonProperty("taxable")] + public bool? Taxable { get; set; } = null; + + /// + /// The date of opening balance if inventory item is tracked - YYYY-MM-DD. + /// + [JsonProperty("inventory_date")] + public LocalDate? InventoryDate { get; set; } = null; + + /// + /// Item type + /// + [JsonProperty("type")] + public InvoiceItemTypeType? Type { get; set; } = null; + + [JsonProperty("sales_details")] + public SalesDetails? SalesDetails { get; set; } + + [JsonProperty("purchase_details")] + public PurchaseDetails? PurchaseDetails { get; set; } + + [JsonProperty("quantity")] + public double? Quantity { get; set; } = null; + + [JsonProperty("unit_price")] + public double? UnitPrice { get; set; } = null; + + [JsonProperty("asset_account")] + public LinkedLedgerAccount? AssetAccount { get; set; } = null; + + [JsonProperty("income_account")] + public LinkedLedgerAccount? IncomeAccount { get; set; } = null; + + [JsonProperty("expense_account")] + public LinkedLedgerAccount? ExpenseAccount { get; set; } = null; + + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("tracking_category")] + public DeprecatedLinkedTrackingCategory? TrackingCategory { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + [JsonProperty("active")] + public bool? Active { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceItemFilter.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemFilter.cs new file mode 100644 index 00000000..96b692a8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemFilter.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class InvoiceItemFilter + { + + /// + /// The type of invoice item, indicating whether it is an inventory item, a service, or another type. + /// + [SpeakeasyMetadata("queryParam:name=type")] + public InvoiceItemFilterInvoiceItemType? Type { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceItemFilterInvoiceItemType.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemFilterInvoiceItemType.cs new file mode 100644 index 00000000..59b61c6d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemFilterInvoiceItemType.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of invoice item, indicating whether it is an inventory item, a service, or another type. + /// + public enum InvoiceItemFilterInvoiceItemType + { + [JsonProperty("inventory")] + Inventory, + [JsonProperty("service")] + Service, + [JsonProperty("other")] + Other, + } + + public static class InvoiceItemFilterInvoiceItemTypeExtension + { + public static string Value(this InvoiceItemFilterInvoiceItemType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static InvoiceItemFilterInvoiceItemType ToEnum(this string value) + { + foreach(var field in typeof(InvoiceItemFilterInvoiceItemType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is InvoiceItemFilterInvoiceItemType) + { + return (InvoiceItemFilterInvoiceItemType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum InvoiceItemFilterInvoiceItemType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceItemInput.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemInput.cs new file mode 100644 index 00000000..a8f32cd3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemInput.cs @@ -0,0 +1,122 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class InvoiceItemInput + { + + /// + /// Item name + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// A short description of the item + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// User defined item code + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + + /// + /// Item will be available on sales transactions + /// + [JsonProperty("sold")] + public bool? Sold { get; set; } = null; + + /// + /// Item is available for purchase transactions + /// + [JsonProperty("purchased")] + public bool? Purchased { get; set; } = null; + + /// + /// Item is inventoried + /// + [JsonProperty("tracked")] + public bool? Tracked { get; set; } = null; + + /// + /// If true, transactions for this item are taxable + /// + [JsonProperty("taxable")] + public bool? Taxable { get; set; } = null; + + /// + /// The date of opening balance if inventory item is tracked - YYYY-MM-DD. + /// + [JsonProperty("inventory_date")] + public LocalDate? InventoryDate { get; set; } = null; + + /// + /// Item type + /// + [JsonProperty("type")] + public InvoiceItemTypeType? Type { get; set; } = null; + + [JsonProperty("sales_details")] + public InvoiceItemSalesDetails? SalesDetails { get; set; } + + [JsonProperty("purchase_details")] + public InvoiceItemPurchaseDetails? PurchaseDetails { get; set; } + + [JsonProperty("quantity")] + public double? Quantity { get; set; } = null; + + [JsonProperty("unit_price")] + public double? UnitPrice { get; set; } = null; + + [JsonProperty("asset_account")] + public LinkedLedgerAccountInput? AssetAccount { get; set; } = null; + + [JsonProperty("income_account")] + public LinkedLedgerAccountInput? IncomeAccount { get; set; } = null; + + [JsonProperty("expense_account")] + public LinkedLedgerAccountInput? ExpenseAccount { get; set; } = null; + + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("tracking_category")] + public DeprecatedLinkedTrackingCategory? TrackingCategory { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + [JsonProperty("active")] + public bool? Active { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceItemPurchaseDetails.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemPurchaseDetails.cs new file mode 100644 index 00000000..bf1cb44a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemPurchaseDetails.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class InvoiceItemPurchaseDetails + { + + [JsonProperty("unit_price")] + public double? UnitPrice { get; set; } = null; + + /// + /// Description of the unit type the item is sold as, ie: kg, hour. + /// + [JsonProperty("unit_of_measure")] + public string? UnitOfMeasure { get; set; } = null; + + /// + /// Amounts are including tax + /// + [JsonProperty("tax_inclusive")] + public bool? TaxInclusive { get; set; } = null; + + [JsonProperty("tax_rate")] + public LinkedTaxRateInput? TaxRate { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceItemSalesDetails.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemSalesDetails.cs new file mode 100644 index 00000000..701005d1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemSalesDetails.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class InvoiceItemSalesDetails + { + + [JsonProperty("unit_price")] + public double? UnitPrice { get; set; } = null; + + /// + /// Description of the unit type the item is sold as, ie: kg, hour. + /// + [JsonProperty("unit_of_measure")] + public string? UnitOfMeasure { get; set; } = null; + + /// + /// Amounts are including tax + /// + [JsonProperty("tax_inclusive")] + public bool? TaxInclusive { get; set; } = null; + + [JsonProperty("tax_rate")] + public LinkedTaxRateInput? TaxRate { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceItemType.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemType.cs new file mode 100644 index 00000000..9be595aa --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemType.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of invoice item, indicating whether it is an inventory item, a service, or another type. + /// + public enum InvoiceItemType + { + [JsonProperty("inventory")] + Inventory, + [JsonProperty("service")] + Service, + [JsonProperty("other")] + Other, + } + + public static class InvoiceItemTypeExtension + { + public static string Value(this InvoiceItemType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static InvoiceItemType ToEnum(this string value) + { + foreach(var field in typeof(InvoiceItemType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is InvoiceItemType) + { + return (InvoiceItemType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum InvoiceItemType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceItemTypeType.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemTypeType.cs new file mode 100644 index 00000000..b760a99a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemTypeType.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Item type + /// + public enum InvoiceItemTypeType + { + [JsonProperty("inventory")] + Inventory, + [JsonProperty("service")] + Service, + [JsonProperty("other")] + Other, + } + + public static class InvoiceItemTypeTypeExtension + { + public static string Value(this InvoiceItemTypeType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static InvoiceItemTypeType ToEnum(this string value) + { + foreach(var field in typeof(InvoiceItemTypeType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is InvoiceItemTypeType) + { + return (InvoiceItemTypeType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum InvoiceItemTypeType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceItemsFilter.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemsFilter.cs new file mode 100644 index 00000000..826d3e16 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceItemsFilter.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class InvoiceItemsFilter + { + + /// + /// Name of Invoice Items to search for + /// + [SpeakeasyMetadata("queryParam:name=name")] + public string? Name { get; set; } + + /// + /// The type of invoice item, indicating whether it is an inventory item, a service, or another type. + /// + [SpeakeasyMetadata("queryParam:name=type")] + public InvoiceItemType? Type { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceLineItem.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceLineItem.cs new file mode 100644 index 00000000..ba28c151 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceLineItem.cs @@ -0,0 +1,153 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class InvoiceLineItem + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// Row ID + /// + [JsonProperty("row_id")] + public string? RowId { get; set; } + + /// + /// User defined item code + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + + /// + /// Line number of the resource + /// + [JsonProperty("line_number")] + public long? LineNumber { get; set; } = null; + + /// + /// User defined description + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// Item type + /// + [JsonProperty("type")] + public InvoiceLineItemType? Type { get; set; } = null; + + /// + /// Tax amount + /// + [JsonProperty("tax_amount")] + public double? TaxAmount { get; set; } = null; + + /// + /// Total amount of the line item + /// + [JsonProperty("total_amount")] + public double? TotalAmount { get; set; } = null; + + [JsonProperty("quantity")] + public double? Quantity { get; set; } = null; + + [JsonProperty("unit_price")] + public double? UnitPrice { get; set; } = null; + + /// + /// Description of the unit type the item is sold as, ie: kg, hour. + /// + [JsonProperty("unit_of_measure")] + public string? UnitOfMeasure { get; set; } = null; + + /// + /// Discount percentage applied to the line item when supported downstream. + /// + [JsonProperty("discount_percentage")] + public double? DiscountPercentage { get; set; } = null; + + /// + /// Discount amount applied to the line item when supported downstream. + /// + [JsonProperty("discount_amount")] + public double? DiscountAmount { get; set; } = null; + + /// + /// Location id + /// + [JsonProperty("location_id")] + public string? LocationId { get; set; } = null; + + /// + /// Department id + /// + [JsonProperty("department_id")] + public string? DepartmentId { get; set; } = null; + + [JsonProperty("item")] + public LinkedInvoiceItem? Item { get; set; } + + [JsonProperty("tax_rate")] + public LinkedTaxRate? TaxRate { get; set; } + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + [JsonProperty("ledger_account")] + public LinkedLedgerAccount? LedgerAccount { get; set; } = null; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceLineItemInput.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceLineItemInput.cs new file mode 100644 index 00000000..1c9b0744 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceLineItemInput.cs @@ -0,0 +1,128 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class InvoiceLineItemInput + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// Row ID + /// + [JsonProperty("row_id")] + public string? RowId { get; set; } + + /// + /// User defined item code + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + + /// + /// Line number of the resource + /// + [JsonProperty("line_number")] + public long? LineNumber { get; set; } = null; + + /// + /// User defined description + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// Item type + /// + [JsonProperty("type")] + public InvoiceLineItemType? Type { get; set; } = null; + + /// + /// Tax amount + /// + [JsonProperty("tax_amount")] + public double? TaxAmount { get; set; } = null; + + /// + /// Total amount of the line item + /// + [JsonProperty("total_amount")] + public double? TotalAmount { get; set; } = null; + + [JsonProperty("quantity")] + public double? Quantity { get; set; } = null; + + [JsonProperty("unit_price")] + public double? UnitPrice { get; set; } = null; + + /// + /// Description of the unit type the item is sold as, ie: kg, hour. + /// + [JsonProperty("unit_of_measure")] + public string? UnitOfMeasure { get; set; } = null; + + /// + /// Discount percentage applied to the line item when supported downstream. + /// + [JsonProperty("discount_percentage")] + public double? DiscountPercentage { get; set; } = null; + + /// + /// Discount amount applied to the line item when supported downstream. + /// + [JsonProperty("discount_amount")] + public double? DiscountAmount { get; set; } = null; + + /// + /// Location id + /// + [JsonProperty("location_id")] + public string? LocationId { get; set; } = null; + + /// + /// Department id + /// + [JsonProperty("department_id")] + public string? DepartmentId { get; set; } = null; + + [JsonProperty("item")] + public LinkedInvoiceItem? Item { get; set; } + + [JsonProperty("tax_rate")] + public LinkedTaxRateInput? TaxRate { get; set; } + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + [JsonProperty("ledger_account")] + public LinkedLedgerAccountInput? LedgerAccount { get; set; } = null; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceLineItemType.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceLineItemType.cs new file mode 100644 index 00000000..64c18253 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceLineItemType.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Item type + /// + public enum InvoiceLineItemType + { + [JsonProperty("sales_item")] + SalesItem, + [JsonProperty("discount")] + Discount, + [JsonProperty("info")] + Info, + [JsonProperty("sub_total")] + SubTotal, + [JsonProperty("other")] + Other, + } + + public static class InvoiceLineItemTypeExtension + { + public static string Value(this InvoiceLineItemType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static InvoiceLineItemType ToEnum(this string value) + { + foreach(var field in typeof(InvoiceLineItemType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is InvoiceLineItemType) + { + return (InvoiceLineItemType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum InvoiceLineItemType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceResponse.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceResponse.cs new file mode 100644 index 00000000..81612b70 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceResponse.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class InvoiceResponse + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The third-party API ID of original entity + /// + [JsonProperty("downstream_id")] + public string? DownstreamId { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceStatus.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceStatus.cs new file mode 100644 index 00000000..c3cd9bb5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceStatus.cs @@ -0,0 +1,72 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Invoice status + /// + public enum InvoiceStatus + { + [JsonProperty("draft")] + Draft, + [JsonProperty("submitted")] + Submitted, + [JsonProperty("authorised")] + Authorised, + [JsonProperty("partially_paid")] + PartiallyPaid, + [JsonProperty("paid")] + Paid, + [JsonProperty("void")] + Void, + [JsonProperty("credit")] + Credit, + [JsonProperty("deleted")] + Deleted, + } + + public static class InvoiceStatusExtension + { + public static string Value(this InvoiceStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static InvoiceStatus ToEnum(this string value) + { + foreach(var field in typeof(InvoiceStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is InvoiceStatus) + { + return (InvoiceStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum InvoiceStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoiceType.cs b/src/Apideck/Unify/SDK/Models/Components/InvoiceType.cs new file mode 100644 index 00000000..6ea69b8b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoiceType.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Invoice type + /// + public enum InvoiceType + { + [JsonProperty("standard")] + Standard, + [JsonProperty("credit")] + Credit, + [JsonProperty("service")] + Service, + [JsonProperty("product")] + Product, + [JsonProperty("supplier")] + Supplier, + [JsonProperty("other")] + Other, + } + + public static class InvoiceTypeExtension + { + public static string Value(this InvoiceType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static InvoiceType ToEnum(this string value) + { + foreach(var field in typeof(InvoiceType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is InvoiceType) + { + return (InvoiceType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum InvoiceType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoicesFilter.cs b/src/Apideck/Unify/SDK/Models/Components/InvoicesFilter.cs new file mode 100644 index 00000000..b3923470 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoicesFilter.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using System; + + public class InvoicesFilter + { + + [SpeakeasyMetadata("queryParam:name=updated_since")] + public DateTime? UpdatedSince { get; set; } + + [SpeakeasyMetadata("queryParam:name=created_since")] + public DateTime? CreatedSince { get; set; } + + /// + /// Invoice number to search for + /// + [SpeakeasyMetadata("queryParam:name=number")] + public string? Number { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoicesSort.cs b/src/Apideck/Unify/SDK/Models/Components/InvoicesSort.cs new file mode 100644 index 00000000..25ea9347 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoicesSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class InvoicesSort + { + + /// + /// The field on which to sort the Invoices + /// + [SpeakeasyMetadata("queryParam:name=by")] + public InvoicesSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/InvoicesSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/InvoicesSortBy.cs new file mode 100644 index 00000000..960eae2d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/InvoicesSortBy.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Invoices + /// + public enum InvoicesSortBy + { + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + } + + public static class InvoicesSortByExtension + { + public static string Value(this InvoicesSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static InvoicesSortBy ToEnum(this string value) + { + foreach(var field in typeof(InvoicesSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is InvoicesSortBy) + { + return (InvoicesSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum InvoicesSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/IssuesFilter.cs b/src/Apideck/Unify/SDK/Models/Components/IssuesFilter.cs new file mode 100644 index 00000000..390613b4 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/IssuesFilter.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + using System; + + public class IssuesFilter + { + + /// + /// Filter by ticket status, can be `open`, `closed` or `all`. Will passthrough if none of the above match + /// + [SpeakeasyMetadata("queryParam:name=status")] + public List? Status { get; set; } + + /// + /// Only return tickets since a specific date + /// + [SpeakeasyMetadata("queryParam:name=since")] + public DateTime? Since { get; set; } + + /// + /// Only return tickets assigned to a specific user + /// + [SpeakeasyMetadata("queryParam:name=assignee_id")] + public string? AssigneeId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Job.cs b/src/Apideck/Unify/SDK/Models/Components/Job.cs new file mode 100644 index 00000000..99ad4983 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Job.cs @@ -0,0 +1,226 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class Job + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + [JsonProperty("slug")] + public string? Slug { get; set; } = null; + + /// + /// The job title of the person. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// Sequence in relation to other jobs. + /// + [JsonProperty("sequence")] + public long? Sequence { get; set; } + + /// + /// The visibility of the job + /// + [JsonProperty("visibility")] + public Visibility? Visibility { get; set; } + + /// + /// The status of the job. + /// + [JsonProperty("status")] + public JobStatus? Status { get; set; } + + /// + /// The code of the job. + /// + [JsonProperty("code")] + public string? Code { get; set; } + + /// + /// language code according to ISO 639-1. For the United States - EN + /// + [JsonProperty("language")] + public string? Language { get; set; } = null; + + [JsonProperty("employment_terms")] + public EmploymentTerms? EmploymentTerms { get; set; } = null; + + /// + /// Level of experience required for the job role. + /// + [JsonProperty("experience")] + public string? Experience { get; set; } + + /// + /// Specifies the location for the job posting. + /// + [JsonProperty("location")] + public string? Location { get; set; } = null; + + /// + /// Specifies whether the posting is for a remote job. + /// + [JsonProperty("remote")] + public bool? Remote { get; set; } = null; + + /// + /// A job's Requisition ID (Req ID) allows your organization to identify and track a job based on alphanumeric naming conventions unique to your company's internal processes. + /// + [JsonProperty("requisition_id")] + public string? RequisitionId { get; set; } + + [JsonProperty("department")] + public Department? Department { get; set; } + + /// + /// Details of the branch for which the job is created. + /// + [JsonProperty("branch")] + public Branch? Branch { get; set; } + + /// + /// The recruiter is generally someone who is tasked to help the hiring manager find and screen qualified applicant + /// + [JsonProperty("recruiters")] + public List? Recruiters { get; set; } = null; + + [JsonProperty("hiring_managers")] + public List? HiringManagers { get; set; } + + [JsonProperty("followers")] + public List? Followers { get; set; } = null; + + /// + /// A description of the object. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The job description in HTML format + /// + [JsonProperty("description_html")] + public string? DescriptionHtml { get; set; } = null; + + [JsonProperty("blocks")] + public List? Blocks { get; set; } + + [JsonProperty("closing")] + public string? Closing { get; set; } = null; + + /// + /// The closing section of the job description in HTML format + /// + [JsonProperty("closing_html")] + public string? ClosingHtml { get; set; } = null; + + [JsonProperty("closing_date")] + public LocalDate? ClosingDate { get; set; } = null; + + [JsonProperty("salary")] + public Salary? Salary { get; set; } + + /// + /// URL of the job description + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("url")] + public string? Url { get; set; } = null; + + /// + /// URL of the job portal + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("job_portal_url")] + public string? JobPortalUrl { get; set; } = null; + + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("record_url")] + public string? RecordUrl { get; set; } = null; + + [JsonProperty("links")] + public List? Links { get; set; } + + [JsonProperty("confidential")] + public bool? Confidential { get; set; } + + /// + /// Specifies whether an employee of the organization can apply for the job. + /// + [JsonProperty("available_to_employees")] + public bool? AvailableToEmployees { get; set; } + + [JsonProperty("tags")] + public List? Tags { get; set; } = null; + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + /// + /// Flag to indicate if the object is deleted. + /// + [JsonProperty("deleted")] + public bool? Deleted { get; set; } = null; + + [JsonProperty("owner_id")] + public string? OwnerId { get; set; } = null; + + [JsonProperty("published_at")] + public DateTime? PublishedAt { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/JobLinks.cs b/src/Apideck/Unify/SDK/Models/Components/JobLinks.cs new file mode 100644 index 00000000..8567091d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/JobLinks.cs @@ -0,0 +1,25 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class JobLinks + { + + [JsonProperty("type")] + public JobType? Type { get; set; } + + [JsonProperty("url")] + public string? Url { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/JobStatus.cs b/src/Apideck/Unify/SDK/Models/Components/JobStatus.cs new file mode 100644 index 00000000..3cf3cd2f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/JobStatus.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The status of the job. + /// + public enum JobStatus + { + [JsonProperty("draft")] + Draft, + [JsonProperty("internal")] + Internal, + [JsonProperty("published")] + Published, + [JsonProperty("completed")] + Completed, + [JsonProperty("on-hold")] + OnHold, + [JsonProperty("private")] + Private, + } + + public static class JobStatusExtension + { + public static string Value(this JobStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static JobStatus ToEnum(this string value) + { + foreach(var field in typeof(JobStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is JobStatus) + { + return (JobStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum JobStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/JobType.cs b/src/Apideck/Unify/SDK/Models/Components/JobType.cs new file mode 100644 index 00000000..d755a3b6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/JobType.cs @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum JobType + { + [JsonProperty("job_portal")] + JobPortal, + [JsonProperty("job_description")] + JobDescription, + } + + public static class JobTypeExtension + { + public static string Value(this JobType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static JobType ToEnum(this string value) + { + foreach(var field in typeof(JobType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is JobType) + { + return (JobType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum JobType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/JournalEntriesFilter.cs b/src/Apideck/Unify/SDK/Models/Components/JournalEntriesFilter.cs new file mode 100644 index 00000000..bcd1ed85 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/JournalEntriesFilter.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using System; + + public class JournalEntriesFilter + { + + [SpeakeasyMetadata("queryParam:name=updated_since")] + public DateTime? UpdatedSince { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/JournalEntriesSort.cs b/src/Apideck/Unify/SDK/Models/Components/JournalEntriesSort.cs new file mode 100644 index 00000000..c66ac897 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/JournalEntriesSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class JournalEntriesSort + { + + /// + /// The field on which to sort the Journal Entries. + /// + [SpeakeasyMetadata("queryParam:name=by")] + public JournalEntriesSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/JournalEntriesSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/JournalEntriesSortBy.cs new file mode 100644 index 00000000..bdf51092 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/JournalEntriesSortBy.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Journal Entries. + /// + public enum JournalEntriesSortBy + { + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + } + + public static class JournalEntriesSortByExtension + { + public static string Value(this JournalEntriesSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static JournalEntriesSortBy ToEnum(this string value) + { + foreach(var field in typeof(JournalEntriesSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is JournalEntriesSortBy) + { + return (JournalEntriesSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum JournalEntriesSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/JournalEntry.cs b/src/Apideck/Unify/SDK/Models/Components/JournalEntry.cs new file mode 100644 index 00000000..23b7f07e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/JournalEntry.cs @@ -0,0 +1,147 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class JournalEntry + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Journal entry title + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// Requires a minimum of 2 line items that sum to 0 + /// + [JsonProperty("line_items")] + public List? LineItems { get; set; } + + /// + /// Reference for the journal entry. + /// + [JsonProperty("memo")] + public string? Memo { get; set; } = null; + + /// + /// This is the date on which the journal entry was added. This can be different from the creation date and can also be backdated. + /// + [JsonProperty("posted_at")] + public DateTime? PostedAt { get; set; } + + /// + /// Journal symbol of the entry. For example IND for indirect costs + /// + [JsonProperty("journal_symbol")] + public string? JournalSymbol { get; set; } = null; + + /// + /// The specific category of tax associated with a transaction like sales or purchase + /// + [JsonProperty("tax_type")] + public string? TaxType { get; set; } = null; + + /// + /// Applicable tax id/code override if tax is not supplied on a line item basis. + /// + [JsonProperty("tax_code")] + public string? TaxCode { get; set; } = null; + + /// + /// Journal entry number. + /// + [JsonProperty("number")] + public string? Number { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + /// + /// Accounting period + /// + [JsonProperty("accounting_period")] + public string? AccountingPeriod { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/JournalEntryInput.cs b/src/Apideck/Unify/SDK/Models/Components/JournalEntryInput.cs new file mode 100644 index 00000000..85a5ce63 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/JournalEntryInput.cs @@ -0,0 +1,111 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class JournalEntryInput + { + + /// + /// Journal entry title + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// Requires a minimum of 2 line items that sum to 0 + /// + [JsonProperty("line_items")] + public List? LineItems { get; set; } + + /// + /// Reference for the journal entry. + /// + [JsonProperty("memo")] + public string? Memo { get; set; } = null; + + /// + /// This is the date on which the journal entry was added. This can be different from the creation date and can also be backdated. + /// + [JsonProperty("posted_at")] + public DateTime? PostedAt { get; set; } + + /// + /// Journal symbol of the entry. For example IND for indirect costs + /// + [JsonProperty("journal_symbol")] + public string? JournalSymbol { get; set; } = null; + + /// + /// The specific category of tax associated with a transaction like sales or purchase + /// + [JsonProperty("tax_type")] + public string? TaxType { get; set; } = null; + + /// + /// Applicable tax id/code override if tax is not supplied on a line item basis. + /// + [JsonProperty("tax_code")] + public string? TaxCode { get; set; } = null; + + /// + /// Journal entry number. + /// + [JsonProperty("number")] + public string? Number { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + /// + /// Accounting period + /// + [JsonProperty("accounting_period")] + public string? AccountingPeriod { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/JournalEntryLineItem.cs b/src/Apideck/Unify/SDK/Models/Components/JournalEntryLineItem.cs new file mode 100644 index 00000000..a2bfa84c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/JournalEntryLineItem.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class JournalEntryLineItem + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// User defined description + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// Tax amount + /// + [JsonProperty("tax_amount")] + public double? TaxAmount { get; set; } = null; + + /// + /// Sub-total amount, normally before tax. + /// + [JsonProperty("sub_total")] + public double? SubTotal { get; set; } = null; + + /// + /// Debit entries are considered positive, and credit entries are considered negative. + /// + [JsonProperty("total_amount")] + public double? TotalAmount { get; set; } = null; + + /// + /// Debit entries are considered positive, and credit entries are considered negative. + /// + [JsonProperty("type")] + public JournalEntryLineItemType Type { get; set; } = default!; + + [JsonProperty("tax_rate")] + public LinkedTaxRate? TaxRate { get; set; } + + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("tracking_category")] + public DeprecatedLinkedTrackingCategory? TrackingCategory { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + [JsonProperty("ledger_account", NullValueHandling = NullValueHandling.Include)] + public LinkedLedgerAccount? LedgerAccount { get; set; } + + /// + /// The customer this entity is linked to. + /// + [JsonProperty("customer")] + public LinkedCustomer? Customer { get; set; } = null; + + /// + /// The supplier this entity is linked to. + /// + [JsonProperty("supplier")] + public LinkedSupplier? Supplier { get; set; } = null; + + /// + /// A unique identifier for an object. + /// + [JsonProperty("department_id")] + public string? DepartmentId { get; set; } + + /// + /// A unique identifier for an object. + /// + [JsonProperty("location_id")] + public string? LocationId { get; set; } + + /// + /// Line number of the resource + /// + [JsonProperty("line_number")] + public long? LineNumber { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/JournalEntryLineItemInput.cs b/src/Apideck/Unify/SDK/Models/Components/JournalEntryLineItemInput.cs new file mode 100644 index 00000000..e22f0340 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/JournalEntryLineItemInput.cs @@ -0,0 +1,85 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class JournalEntryLineItemInput + { + + /// + /// User defined description + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// Tax amount + /// + [JsonProperty("tax_amount")] + public double? TaxAmount { get; set; } = null; + + /// + /// Sub-total amount, normally before tax. + /// + [JsonProperty("sub_total")] + public double? SubTotal { get; set; } = null; + + /// + /// Debit entries are considered positive, and credit entries are considered negative. + /// + [JsonProperty("total_amount")] + public double? TotalAmount { get; set; } = null; + + /// + /// Debit entries are considered positive, and credit entries are considered negative. + /// + [JsonProperty("type")] + public JournalEntryLineItemType Type { get; set; } = default!; + + [JsonProperty("tax_rate")] + public LinkedTaxRateInput? TaxRate { get; set; } + + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("tracking_category")] + public DeprecatedLinkedTrackingCategory? TrackingCategory { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + [JsonProperty("ledger_account", NullValueHandling = NullValueHandling.Include)] + public LinkedLedgerAccountInput? LedgerAccount { get; set; } + + /// + /// The customer this entity is linked to. + /// + [JsonProperty("customer")] + public LinkedCustomerInput? Customer { get; set; } = null; + + /// + /// The supplier this entity is linked to. + /// + [JsonProperty("supplier")] + public LinkedSupplierInput? Supplier { get; set; } = null; + + /// + /// Line number of the resource + /// + [JsonProperty("line_number")] + public long? LineNumber { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/JournalEntryLineItemType.cs b/src/Apideck/Unify/SDK/Models/Components/JournalEntryLineItemType.cs new file mode 100644 index 00000000..177cf038 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/JournalEntryLineItemType.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Debit entries are considered positive, and credit entries are considered negative. + /// + public enum JournalEntryLineItemType + { + [JsonProperty("debit")] + Debit, + [JsonProperty("credit")] + Credit, + } + + public static class JournalEntryLineItemTypeExtension + { + public static string Value(this JournalEntryLineItemType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static JournalEntryLineItemType ToEnum(this string value) + { + foreach(var field in typeof(JournalEntryLineItemType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is JournalEntryLineItemType) + { + return (JournalEntryLineItemType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum JournalEntryLineItemType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Lead.cs b/src/Apideck/Unify/SDK/Models/Components/Lead.cs new file mode 100644 index 00000000..d84cf6d6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Lead.cs @@ -0,0 +1,170 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class Lead + { + + /// + /// Unique identifier for the contact. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Full name of the lead. + /// + [JsonProperty("name")] + public string Name { get; set; } = default!; + + /// + /// The name of the company the lead is associated with. + /// + [JsonProperty("company_name", NullValueHandling = NullValueHandling.Include)] + public string? CompanyName { get; set; } + + /// + /// The owner of the lead. + /// + [JsonProperty("owner_id")] + public string? OwnerId { get; set; } = null; + + /// + /// The name of the owner of the lead. + /// + [JsonProperty("owner_name")] + public string? OwnerName { get; set; } = null; + + /// + /// The company the lead is associated with. + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The identifier of the lead. + /// + [JsonProperty("lead_id")] + public string? LeadId { get; set; } = null; + + /// + /// The source of the lead. + /// + [JsonProperty("lead_source")] + public string? LeadSource { get; set; } = null; + + /// + /// The first name of the lead. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// The last name of the lead. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// The description of the lead. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The prefix of the lead. + /// + [JsonProperty("prefix")] + public string? Prefix { get; set; } = null; + + /// + /// The job title of the lead. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// language code according to ISO 639-1. For the United States - EN + /// + [JsonProperty("language")] + public string? Language { get; set; } = null; + + [JsonProperty("status")] + public string? Status { get; set; } = null; + + /// + /// The monetary amount of the lead. + /// + [JsonProperty("monetary_amount")] + public double? MonetaryAmount { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// The fax number of the lead. + /// + [JsonProperty("fax")] + public string? Fax { get; set; } = null; + + [JsonProperty("websites")] + public List? Websites { get; set; } + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("social_links")] + public List? SocialLinks { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + [JsonProperty("tags")] + public List? Tags { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// Date updated in ISO 8601 format + /// + [JsonProperty("updated_at")] + public string? UpdatedAt { get; set; } = null; + + /// + /// Date created in ISO 8601 format + /// + [JsonProperty("created_at")] + public string? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LeadInput.cs b/src/Apideck/Unify/SDK/Models/Components/LeadInput.cs new file mode 100644 index 00000000..c0ac3483 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LeadInput.cs @@ -0,0 +1,146 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class LeadInput + { + + /// + /// Full name of the lead. + /// + [JsonProperty("name")] + public string Name { get; set; } = default!; + + /// + /// The name of the company the lead is associated with. + /// + [JsonProperty("company_name", NullValueHandling = NullValueHandling.Include)] + public string? CompanyName { get; set; } + + /// + /// The owner of the lead. + /// + [JsonProperty("owner_id")] + public string? OwnerId { get; set; } = null; + + /// + /// The name of the owner of the lead. + /// + [JsonProperty("owner_name")] + public string? OwnerName { get; set; } = null; + + /// + /// The company the lead is associated with. + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The identifier of the lead. + /// + [JsonProperty("lead_id")] + public string? LeadId { get; set; } = null; + + /// + /// The source of the lead. + /// + [JsonProperty("lead_source")] + public string? LeadSource { get; set; } = null; + + /// + /// The first name of the lead. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// The last name of the lead. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// The description of the lead. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The prefix of the lead. + /// + [JsonProperty("prefix")] + public string? Prefix { get; set; } = null; + + /// + /// The job title of the lead. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// language code according to ISO 639-1. For the United States - EN + /// + [JsonProperty("language")] + public string? Language { get; set; } = null; + + [JsonProperty("status")] + public string? Status { get; set; } = null; + + /// + /// The monetary amount of the lead. + /// + [JsonProperty("monetary_amount")] + public double? MonetaryAmount { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// The fax number of the lead. + /// + [JsonProperty("fax")] + public string? Fax { get; set; } = null; + + [JsonProperty("websites")] + public List? Websites { get; set; } + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("social_links")] + public List? SocialLinks { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + [JsonProperty("tags")] + public List? Tags { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LeadsFilter.cs b/src/Apideck/Unify/SDK/Models/Components/LeadsFilter.cs new file mode 100644 index 00000000..03cfec1c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LeadsFilter.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class LeadsFilter + { + + /// + /// Name of the lead to filter on + /// + [SpeakeasyMetadata("queryParam:name=name")] + public string? Name { get; set; } + + /// + /// First name of the lead to filter on + /// + [SpeakeasyMetadata("queryParam:name=first_name")] + public string? FirstName { get; set; } + + /// + /// Last name of the lead to filter on + /// + [SpeakeasyMetadata("queryParam:name=last_name")] + public string? LastName { get; set; } + + /// + /// E-mail of the lead to filter on + /// + [SpeakeasyMetadata("queryParam:name=email")] + public string? Email { get; set; } + + /// + /// Phone number of the lead to filter on + /// + [SpeakeasyMetadata("queryParam:name=phone_number")] + public string? PhoneNumber { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LeadsSort.cs b/src/Apideck/Unify/SDK/Models/Components/LeadsSort.cs new file mode 100644 index 00000000..f80490fb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LeadsSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class LeadsSort + { + + /// + /// The field on which to sort the Leads + /// + [SpeakeasyMetadata("queryParam:name=by")] + public LeadsSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LeadsSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/LeadsSortBy.cs new file mode 100644 index 00000000..69e3b104 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LeadsSortBy.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Leads + /// + public enum LeadsSortBy + { + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + [JsonProperty("name")] + Name, + [JsonProperty("first_name")] + FirstName, + [JsonProperty("last_name")] + LastName, + [JsonProperty("email")] + Email, + } + + public static class LeadsSortByExtension + { + public static string Value(this LeadsSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static LeadsSortBy ToEnum(this string value) + { + foreach(var field in typeof(LeadsSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is LeadsSortBy) + { + return (LeadsSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum LeadsSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LeavingReason.cs b/src/Apideck/Unify/SDK/Models/Components/LeavingReason.cs new file mode 100644 index 00000000..d7b7875b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LeavingReason.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The reason because the employment ended. + /// + public enum LeavingReason + { + [JsonProperty("dismissed")] + Dismissed, + [JsonProperty("resigned")] + Resigned, + [JsonProperty("redundancy")] + Redundancy, + [JsonProperty("other")] + Other, + } + + public static class LeavingReasonExtension + { + public static string Value(this LeavingReason value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static LeavingReason ToEnum(this string value) + { + foreach(var field in typeof(LeavingReason).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is LeavingReason) + { + return (LeavingReason)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum LeavingReason"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LedgerAccount.cs b/src/Apideck/Unify/SDK/Models/Components/LedgerAccount.cs new file mode 100644 index 00000000..62c99b96 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LedgerAccount.cs @@ -0,0 +1,209 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class LedgerAccount + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The human readable display ID used when displaying the account + /// + [JsonProperty("display_id")] + public string? DisplayId { get; set; } + + /// + /// The nominal code of the ledger account. + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("nominal_code")] + public string? NominalCode { get; set; } = null; + + /// + /// The code assigned to the account. + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + + /// + /// The classification of account. + /// + [JsonProperty("classification")] + public Classification? Classification { get; set; } = null; + + /// + /// The type of account. + /// + [JsonProperty("type")] + public LedgerAccountType? Type { get; set; } + + /// + /// The sub type of account. + /// + [JsonProperty("sub_type")] + public string? SubType { get; set; } = null; + + /// + /// The name of the account. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// The fully qualified name of the account. + /// + [JsonProperty("fully_qualified_name")] + public string? FullyQualifiedName { get; set; } = null; + + /// + /// The description of the account. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The opening balance of the account. + /// + [JsonProperty("opening_balance")] + public double? OpeningBalance { get; set; } = null; + + /// + /// The current balance of the account. + /// + [JsonProperty("current_balance")] + public double? CurrentBalance { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// The tax type of the account. + /// + [JsonProperty("tax_type")] + public string? TaxType { get; set; } = null; + + [JsonProperty("tax_rate")] + public LinkedTaxRate? TaxRate { get; set; } + + [JsonProperty("level")] + public double? Level { get; set; } = null; + + /// + /// Whether the account is active or not. + /// + [JsonProperty("active")] + public bool? Active { get; set; } = null; + + /// + /// The status of the account. + /// + [JsonProperty("status")] + public AccountStatus? Status { get; set; } = null; + + /// + /// Whether the account is a header or not. + /// + [JsonProperty("header")] + public bool? Header { get; set; } = null; + + [JsonProperty("bank_account")] + public BankAccount? BankAccount { get; set; } + + /// + /// The categories of the account. + /// + [JsonProperty("categories")] + public List? Categories { get; set; } + + [JsonProperty("parent_account")] + public ParentAccount? ParentAccount { get; set; } + + /// + /// Whether the account is a sub account or not. + /// + [JsonProperty("sub_account")] + public bool? SubAccount { get; set; } = null; + + /// + /// The sub accounts of the account. + /// + [JsonProperty("sub_accounts")] + public List? SubAccounts { get; set; } + + /// + /// Reconciliation Date means the last calendar day of each Reconciliation Period. + /// + [JsonProperty("last_reconciliation_date")] + public LocalDate? LastReconciliationDate { get; set; } = null; + + /// + /// The subsidiaries the account belongs to. + /// + [JsonProperty("subsidiaries")] + public List? Subsidiaries { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LedgerAccountInput.cs b/src/Apideck/Unify/SDK/Models/Components/LedgerAccountInput.cs new file mode 100644 index 00000000..9cf9f164 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LedgerAccountInput.cs @@ -0,0 +1,161 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class LedgerAccountInput + { + + /// + /// The human readable display ID used when displaying the account + /// + [JsonProperty("display_id")] + public string? DisplayId { get; set; } + + /// + /// The nominal code of the ledger account. + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("nominal_code")] + public string? NominalCode { get; set; } = null; + + /// + /// The code assigned to the account. + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + + /// + /// The classification of account. + /// + [JsonProperty("classification")] + public Classification? Classification { get; set; } = null; + + /// + /// The type of account. + /// + [JsonProperty("type")] + public LedgerAccountType? Type { get; set; } + + /// + /// The sub type of account. + /// + [JsonProperty("sub_type")] + public string? SubType { get; set; } = null; + + /// + /// The name of the account. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// The fully qualified name of the account. + /// + [JsonProperty("fully_qualified_name")] + public string? FullyQualifiedName { get; set; } = null; + + /// + /// The description of the account. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The opening balance of the account. + /// + [JsonProperty("opening_balance")] + public double? OpeningBalance { get; set; } = null; + + /// + /// The current balance of the account. + /// + [JsonProperty("current_balance")] + public double? CurrentBalance { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// The tax type of the account. + /// + [JsonProperty("tax_type")] + public string? TaxType { get; set; } = null; + + [JsonProperty("tax_rate")] + public LinkedTaxRateInput? TaxRate { get; set; } + + [JsonProperty("level")] + public double? Level { get; set; } = null; + + /// + /// Whether the account is active or not. + /// + [JsonProperty("active")] + public bool? Active { get; set; } = null; + + /// + /// The status of the account. + /// + [JsonProperty("status")] + public AccountStatus? Status { get; set; } = null; + + /// + /// Whether the account is a header or not. + /// + [JsonProperty("header")] + public bool? Header { get; set; } = null; + + [JsonProperty("bank_account")] + public BankAccount? BankAccount { get; set; } + + [JsonProperty("parent_account")] + public ParentAccount? ParentAccount { get; set; } + + /// + /// Whether the account is a sub account or not. + /// + [JsonProperty("sub_account")] + public bool? SubAccount { get; set; } = null; + + /// + /// Reconciliation Date means the last calendar day of each Reconciliation Period. + /// + [JsonProperty("last_reconciliation_date")] + public LocalDate? LastReconciliationDate { get; set; } = null; + + /// + /// The subsidiaries the account belongs to. + /// + [JsonProperty("subsidiaries")] + public List? Subsidiaries { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LedgerAccountType.cs b/src/Apideck/Unify/SDK/Models/Components/LedgerAccountType.cs new file mode 100644 index 00000000..78230fd0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LedgerAccountType.cs @@ -0,0 +1,96 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of account. + /// + public enum LedgerAccountType + { + [JsonProperty("accounts_receivable")] + AccountsReceivable, + [JsonProperty("revenue")] + Revenue, + [JsonProperty("sales")] + Sales, + [JsonProperty("other_income")] + OtherIncome, + [JsonProperty("bank")] + Bank, + [JsonProperty("current_asset")] + CurrentAsset, + [JsonProperty("fixed_asset")] + FixedAsset, + [JsonProperty("non_current_asset")] + NonCurrentAsset, + [JsonProperty("other_asset")] + OtherAsset, + [JsonProperty("balancesheet")] + Balancesheet, + [JsonProperty("equity")] + Equity, + [JsonProperty("expense")] + Expense, + [JsonProperty("other_expense")] + OtherExpense, + [JsonProperty("costs_of_sales")] + CostsOfSales, + [JsonProperty("accounts_payable")] + AccountsPayable, + [JsonProperty("credit_card")] + CreditCard, + [JsonProperty("current_liability")] + CurrentLiability, + [JsonProperty("non_current_liability")] + NonCurrentLiability, + [JsonProperty("other_liability")] + OtherLiability, + [JsonProperty("other")] + Other, + } + + public static class LedgerAccountTypeExtension + { + public static string Value(this LedgerAccountType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static LedgerAccountType ToEnum(this string value) + { + foreach(var field in typeof(LedgerAccountType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is LedgerAccountType) + { + return (LedgerAccountType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum LedgerAccountType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LedgerAccountsFilter.cs b/src/Apideck/Unify/SDK/Models/Components/LedgerAccountsFilter.cs new file mode 100644 index 00000000..5d74c666 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LedgerAccountsFilter.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using System; + + public class LedgerAccountsFilter + { + + [SpeakeasyMetadata("queryParam:name=updated_since")] + public DateTime? UpdatedSince { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LedgerAccountsSort.cs b/src/Apideck/Unify/SDK/Models/Components/LedgerAccountsSort.cs new file mode 100644 index 00000000..0914e6a8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LedgerAccountsSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class LedgerAccountsSort + { + + /// + /// The field on which to sort the Ledger Accounts + /// + [SpeakeasyMetadata("queryParam:name=by")] + public LedgerAccountsSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LedgerAccountsSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/LedgerAccountsSortBy.cs new file mode 100644 index 00000000..dfe9c25d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LedgerAccountsSortBy.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Ledger Accounts + /// + public enum LedgerAccountsSortBy + { + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + } + + public static class LedgerAccountsSortByExtension + { + public static string Value(this LedgerAccountsSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static LedgerAccountsSortBy ToEnum(this string value) + { + foreach(var field in typeof(LedgerAccountsSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is LedgerAccountsSortBy) + { + return (LedgerAccountsSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum LedgerAccountsSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedConnectorResource.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedConnectorResource.cs new file mode 100644 index 00000000..c7c8f365 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedConnectorResource.cs @@ -0,0 +1,49 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class LinkedConnectorResource + { + + /// + /// ID of the resource, typically a lowercased version of name. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Name of the resource (plural) + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// Status of the resource. Resources with status live or beta are callable. + /// + [JsonProperty("status")] + public ResourceStatus? Status { get; set; } + + /// + /// ID of the resource in the Connector's API (downstream) + /// + [JsonProperty("downstream_id")] + public string? DownstreamId { get; set; } + + /// + /// Name of the resource in the Connector's API (downstream) + /// + [JsonProperty("downstream_name")] + public string? DownstreamName { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedCustomer.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedCustomer.cs new file mode 100644 index 00000000..6e747a75 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedCustomer.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The customer this entity is linked to. + /// + public class LinkedCustomer + { + + /// + /// The ID of the customer this entity is linked to. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The display ID of the customer. + /// + [JsonProperty("display_id")] + public string? DisplayId { get; set; } = null; + + /// + /// The display name of the customer. + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + /// + /// The name of the customer. Deprecated, use display_name instead. + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// The company name of the customer. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// The email address of the customer. + /// + [JsonProperty("email")] + public string? Email { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedCustomerInput.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedCustomerInput.cs new file mode 100644 index 00000000..ae0a7402 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedCustomerInput.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The customer this entity is linked to. + /// + public class LinkedCustomerInput + { + + /// + /// The ID of the customer this entity is linked to. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The display name of the customer. + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + /// + /// The name of the customer. Deprecated, use display_name instead. + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// The email address of the customer. + /// + [JsonProperty("email")] + public string? Email { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedEcommerceCustomer.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedEcommerceCustomer.cs new file mode 100644 index 00000000..1b89afc9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedEcommerceCustomer.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// The customer this entity is linked to. + /// + public class LinkedEcommerceCustomer + { + + /// + /// The ID of the customer this entity is linked to. + /// + [JsonProperty("id", NullValueHandling = NullValueHandling.Include)] + public string? Id { get; set; } + + /// + /// Full name of the customer + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// First name of the customer + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// Last name of the customer + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// Company name of the customer + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedEcommerceOrder.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedEcommerceOrder.cs new file mode 100644 index 00000000..f85b38c8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedEcommerceOrder.cs @@ -0,0 +1,40 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// The order this entity is linked to. + /// + public class LinkedEcommerceOrder + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The total amount of the order. + /// + [JsonProperty("total")] + public string? Total { get; set; } = null; + + /// + /// Current status of the order. + /// + [JsonProperty("status")] + public EcommerceOrderStatus? Status { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedFolder.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedFolder.cs new file mode 100644 index 00000000..3ebddb78 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedFolder.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class LinkedFolder + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The name of the folder + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedInvoiceItem.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedInvoiceItem.cs new file mode 100644 index 00000000..2b28ab41 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedInvoiceItem.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class LinkedInvoiceItem + { + + /// + /// ID of the linked item. A reference to the invoice item that was used to create this line item + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// User defined item code + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + + /// + /// User defined item name + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedLedgerAccount.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedLedgerAccount.cs new file mode 100644 index 00000000..1b4ded18 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedLedgerAccount.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class LinkedLedgerAccount + { + + /// + /// The unique identifier for the account. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The name of the account. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// The nominal code of the account. + /// + [JsonProperty("nominal_code")] + public string? NominalCode { get; set; } = null; + + /// + /// The code assigned to the account. + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedLedgerAccountInput.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedLedgerAccountInput.cs new file mode 100644 index 00000000..71a34c0e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedLedgerAccountInput.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class LinkedLedgerAccountInput + { + + /// + /// The unique identifier for the account. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The nominal code of the account. + /// + [JsonProperty("nominal_code")] + public string? NominalCode { get; set; } = null; + + /// + /// The code assigned to the account. + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedParentCustomer.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedParentCustomer.cs new file mode 100644 index 00000000..2667b611 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedParentCustomer.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// The parent customer this entity is linked to. + /// + public class LinkedParentCustomer + { + + /// + /// The parent ID of the customer this entity is linked to. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The name of the parent customer. + /// + [JsonProperty("name")] + public string? Name { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedResources.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedResources.cs new file mode 100644 index 00000000..aad0e972 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedResources.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class LinkedResources + { + + /// + /// ID of the resource, typically a lowercased version of name. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Name of the property in our Unified API. + /// + [JsonProperty("unified_property")] + public string? UnifiedProperty { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedSupplier.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedSupplier.cs new file mode 100644 index 00000000..8ec94091 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedSupplier.cs @@ -0,0 +1,49 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// The supplier this entity is linked to. + /// + public class LinkedSupplier + { + + /// + /// The ID of the supplier this entity is linked to. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The display ID of the supplier. + /// + [JsonProperty("display_id")] + public string? DisplayId { get; set; } = null; + + /// + /// The display name of the supplier. + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + /// + /// The company name of the supplier. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + [JsonProperty("address")] + public Address? Address { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedSupplierInput.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedSupplierInput.cs new file mode 100644 index 00000000..60c2aaa8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedSupplierInput.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// The supplier this entity is linked to. + /// + public class LinkedSupplierInput + { + + /// + /// The ID of the supplier this entity is linked to. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The display name of the supplier. + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + [JsonProperty("address")] + public Address? Address { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedTaxRate.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedTaxRate.cs new file mode 100644 index 00000000..257d78eb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedTaxRate.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class LinkedTaxRate + { + + /// + /// The ID of the object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// Tax rate code + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + + /// + /// Name of the tax rate + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// Rate of the tax rate + /// + [JsonProperty("rate")] + public double? Rate { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedTaxRateInput.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedTaxRateInput.cs new file mode 100644 index 00000000..a12757ec --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedTaxRateInput.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class LinkedTaxRateInput + { + + /// + /// The ID of the object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// Rate of the tax rate + /// + [JsonProperty("rate")] + public double? Rate { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LinkedTrackingCategory.cs b/src/Apideck/Unify/SDK/Models/Components/LinkedTrackingCategory.cs new file mode 100644 index 00000000..fab749be --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LinkedTrackingCategory.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class LinkedTrackingCategory + { + + /// + /// The unique identifier for the tracking category. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The name of the tracking category. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Links.cs b/src/Apideck/Unify/SDK/Models/Components/Links.cs new file mode 100644 index 00000000..ec18a5cd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Links.cs @@ -0,0 +1,39 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Links to navigate to previous or next pages through the API + /// + public class Links + { + + /// + /// Link to navigate to the previous page through the API + /// + [JsonProperty("previous")] + public string? Previous { get; set; } = null; + + /// + /// Link to navigate to the current page through the API + /// + [JsonProperty("current")] + public string? Current { get; set; } + + /// + /// Link to navigate to the previous page through the API + /// + [JsonProperty("next")] + public string? Next { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LocationStatus.cs b/src/Apideck/Unify/SDK/Models/Components/LocationStatus.cs new file mode 100644 index 00000000..29d0bb15 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LocationStatus.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Based on the status some functionality is enabled or disabled. + /// + public enum LocationStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("inactive")] + Inactive, + } + + public static class LocationStatusExtension + { + public static string Value(this LocationStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static LocationStatus ToEnum(this string value) + { + foreach(var field in typeof(LocationStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is LocationStatus) + { + return (LocationStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum LocationStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Log.cs b/src/Apideck/Unify/SDK/Models/Components/Log.cs new file mode 100644 index 00000000..94477282 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Log.cs @@ -0,0 +1,145 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Log + { + + /// + /// Indicates if the request was made via REST or Graphql endpoint. + /// + [JsonProperty("api_style")] + public string ApiStyle { get; set; } = default!; + + /// + /// The Apideck base URL the request was made to. + /// + [JsonProperty("base_url")] + public string BaseUrl { get; set; } = default!; + + /// + /// Indicates whether or not this is a child or parent request. + /// + [JsonProperty("child_request")] + public bool ChildRequest { get; set; } = default!; + + /// + /// The consumer Id associated with the request. + /// + [JsonProperty("consumer_id")] + public string ConsumerId { get; set; } = default!; + + /// + /// The entire execution time in milliseconds it took to call the Apideck service provider. + /// + [JsonProperty("duration")] + public double Duration { get; set; } = default!; + + /// + /// If error occurred, this is brief explanation + /// + [JsonProperty("error_message")] + public string? ErrorMessage { get; set; } = null; + + /// + /// The entire execution time in milliseconds it took to make the request. + /// + [JsonProperty("execution")] + public long Execution { get; set; } = default!; + + /// + /// When request is a parent request, this indicates if there are child requests associated. + /// + [JsonProperty("has_children")] + public bool HasChildren { get; set; } = default!; + + /// + /// HTTP Method of request. + /// + [JsonProperty("http_method")] + public string HttpMethod { get; set; } = default!; + + /// + /// UUID acting as Request Identifier. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// Latency added by making this request via Unified Api. + /// + [JsonProperty("latency")] + public double Latency { get; set; } = default!; + + /// + /// The request as defined in OpenApi Spec. + /// + [JsonProperty("operation")] + public Operation Operation { get; set; } = default!; + + /// + /// When request is a child request, this UUID indicates it's parent request. + /// + [JsonProperty("parent_id", NullValueHandling = NullValueHandling.Include)] + public string? ParentId { get; set; } + + /// + /// The path component of the URI the request was made to. + /// + [JsonProperty("path")] + public string Path { get; set; } = default!; + + /// + /// Indicates whether the request was made using Apidecks sandbox credentials or not. + /// + [JsonProperty("sandbox")] + public bool Sandbox { get; set; } = default!; + + /// + /// Apideck service provider associated with request. + /// + [JsonProperty("service")] + public Service Service { get; set; } = default!; + + /// + /// The IP address of the source of the request. + /// + [JsonProperty("source_ip")] + public string? SourceIp { get; set; } = null; + + /// + /// HTTP Status code that was returned. + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// Whether or not the request was successful. + /// + [JsonProperty("success")] + public bool Success { get; set; } = default!; + + /// + /// ISO Date and time when the request was made. + /// + [JsonProperty("timestamp")] + public string Timestamp { get; set; } = default!; + + /// + /// Which Unified Api request was made to. + /// + [JsonProperty("unified_api")] + public UnifiedApi UnifiedApi { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/LogsFilter.cs b/src/Apideck/Unify/SDK/Models/Components/LogsFilter.cs new file mode 100644 index 00000000..36423393 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/LogsFilter.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class LogsFilter + { + + [SpeakeasyMetadata("queryParam:name=connector_id")] + public string? ConnectorId { get; set; } = null; + + [SpeakeasyMetadata("queryParam:name=status_code")] + public double? StatusCode { get; set; } = null; + + [SpeakeasyMetadata("queryParam:name=exclude_unified_apis")] + public string? ExcludeUnifiedApis { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ManagedVia.cs b/src/Apideck/Unify/SDK/Models/Components/ManagedVia.cs new file mode 100644 index 00000000..2f1d3b58 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ManagedVia.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// How the subscription is managed in the downstream. + /// + public enum ManagedVia + { + [JsonProperty("manual")] + Manual, + [JsonProperty("api")] + Api, + } + + public static class ManagedViaExtension + { + public static string Value(this ManagedVia value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ManagedVia ToEnum(this string value) + { + foreach(var field in typeof(ManagedVia).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ManagedVia) + { + return (ManagedVia)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ManagedVia"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Manager.cs b/src/Apideck/Unify/SDK/Models/Components/Manager.cs new file mode 100644 index 00000000..246b9aa0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Manager.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Manager + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The name of the manager, often a combination of their first and last names. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// The first name of the person. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// The last name of the person. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// The email address of the manager. + /// + [JsonProperty("email")] + public string? Email { get; set; } = null; + + /// + /// The employment status of the employee, indicating whether they are currently employed, inactive, terminated, or in another status. + /// + [JsonProperty("employment_status")] + public EmploymentStatus? EmploymentStatus { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Message.cs b/src/Apideck/Unify/SDK/Models/Components/Message.cs new file mode 100644 index 00000000..0b4fb92b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Message.cs @@ -0,0 +1,156 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class Message + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The phone number that initiated the message. + /// + [JsonProperty("from")] + public string From { get; set; } = default!; + + /// + /// The phone number that received the message. + /// + [JsonProperty("to")] + public string To { get; set; } = default!; + + [JsonProperty("subject")] + public string? Subject { get; set; } + + /// + /// The message text. + /// + [JsonProperty("body")] + public string Body { get; set; } = default!; + + /// + /// Set to sms for SMS messages and mms for MMS messages. + /// + [JsonProperty("type")] + public MessageType? Type { get; set; } + + /// + /// The number of units that make up the complete message. Messages can be split up due to the constraints of the message size. + /// + [JsonProperty("number_of_units")] + public long? NumberOfUnits { get; set; } + + /// + /// The number of media files associated with the message. + /// + [JsonProperty("number_of_media_files")] + public long? NumberOfMediaFiles { get; set; } + + /// + /// The direction of the message. + /// + [JsonProperty("direction")] + public Direction? Direction { get; set; } + + /// + /// Status of the delivery of the message. + /// + [JsonProperty("status")] + public MessageStatus? Status { get; set; } + + /// + /// The scheduled date and time of the message. + /// + [JsonProperty("scheduled_at")] + public DateTime? ScheduledAt { get; set; } + + /// + /// The date and time that the message was sent + /// + [JsonProperty("sent_at")] + public DateTime? SentAt { get; set; } + + /// + /// Define a webhook to receive delivery notifications. + /// + [JsonProperty("webhook_url")] + public string? WebhookUrl { get; set; } + + /// + /// A client reference. + /// + [JsonProperty("reference")] + public string? Reference { get; set; } + + /// + /// Price of the message. + /// + [JsonProperty("price")] + public Price? Price { get; set; } + + /// + /// The error returned if your message status is failed or undelivered. + /// + [JsonProperty("error")] + public Error? Error { get; set; } + + /// + /// The ID of the Messaging Service used with the message. In case of Plivo this links to the Powerpack ID. + /// + [JsonProperty("messaging_service_id")] + public string? MessagingServiceId { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/MessageInput.cs b/src/Apideck/Unify/SDK/Models/Components/MessageInput.cs new file mode 100644 index 00000000..77329c9f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/MessageInput.cs @@ -0,0 +1,78 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class MessageInput + { + + /// + /// The phone number that initiated the message. + /// + [JsonProperty("from")] + public string From { get; set; } = default!; + + /// + /// The phone number that received the message. + /// + [JsonProperty("to")] + public string To { get; set; } = default!; + + [JsonProperty("subject")] + public string? Subject { get; set; } + + /// + /// The message text. + /// + [JsonProperty("body")] + public string Body { get; set; } = default!; + + /// + /// Set to sms for SMS messages and mms for MMS messages. + /// + [JsonProperty("type")] + public MessageType? Type { get; set; } + + /// + /// The scheduled date and time of the message. + /// + [JsonProperty("scheduled_at")] + public DateTime? ScheduledAt { get; set; } + + /// + /// Define a webhook to receive delivery notifications. + /// + [JsonProperty("webhook_url")] + public string? WebhookUrl { get; set; } + + /// + /// A client reference. + /// + [JsonProperty("reference")] + public string? Reference { get; set; } + + /// + /// The ID of the Messaging Service used with the message. In case of Plivo this links to the Powerpack ID. + /// + [JsonProperty("messaging_service_id")] + public string? MessagingServiceId { get; set; } + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/MessageStatus.cs b/src/Apideck/Unify/SDK/Models/Components/MessageStatus.cs new file mode 100644 index 00000000..5d4fb3c0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/MessageStatus.cs @@ -0,0 +1,80 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Status of the delivery of the message. + /// + public enum MessageStatus + { + [JsonProperty("accepted")] + Accepted, + [JsonProperty("scheduled")] + Scheduled, + [JsonProperty("canceled")] + Canceled, + [JsonProperty("queued")] + Queued, + [JsonProperty("sending")] + Sending, + [JsonProperty("sent")] + Sent, + [JsonProperty("failed")] + Failed, + [JsonProperty("delivered")] + Delivered, + [JsonProperty("undelivered")] + Undelivered, + [JsonProperty("receiving")] + Receiving, + [JsonProperty("received")] + Received, + [JsonProperty("read")] + Read, + } + + public static class MessageStatusExtension + { + public static string Value(this MessageStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static MessageStatus ToEnum(this string value) + { + foreach(var field in typeof(MessageStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is MessageStatus) + { + return (MessageStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum MessageStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/MessageType.cs b/src/Apideck/Unify/SDK/Models/Components/MessageType.cs new file mode 100644 index 00000000..1c2cee1b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/MessageType.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Set to sms for SMS messages and mms for MMS messages. + /// + public enum MessageType + { + [JsonProperty("sms")] + Sms, + [JsonProperty("mms")] + Mms, + } + + public static class MessageTypeExtension + { + public static string Value(this MessageType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static MessageType ToEnum(this string value) + { + foreach(var field in typeof(MessageType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is MessageType) + { + return (MessageType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum MessageType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Meta.cs b/src/Apideck/Unify/SDK/Models/Components/Meta.cs new file mode 100644 index 00000000..0079d59f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Meta.cs @@ -0,0 +1,34 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Response metadata + /// + public class Meta + { + + /// + /// Number of items returned in the data property of the response + /// + [JsonProperty("items_on_page")] + public long? ItemsOnPage { get; set; } + + /// + /// Cursors to navigate to previous or next pages through the API + /// + [JsonProperty("cursors")] + public Cursors? Cursors { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Mode.cs b/src/Apideck/Unify/SDK/Models/Components/Mode.cs new file mode 100644 index 00000000..3681e833 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Mode.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Mode of the webhook support. + /// + public enum Mode + { + [JsonProperty("native")] + Native, + [JsonProperty("virtual")] + Virtual, + [JsonProperty("none")] + None, + } + + public static class ModeExtension + { + public static string Value(this Mode value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static Mode ToEnum(this string value) + { + foreach(var field in typeof(Mode).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is Mode) + { + return (Mode)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum Mode"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/NetIncome.cs b/src/Apideck/Unify/SDK/Models/Components/NetIncome.cs new file mode 100644 index 00000000..d35bbc08 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/NetIncome.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class NetIncome + { + + /// + /// Total net income + /// + [JsonProperty("total", NullValueHandling = NullValueHandling.Include)] + public double? Total { get; set; } + + [JsonProperty("records")] + public object Records { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/NetOperatingIncome.cs b/src/Apideck/Unify/SDK/Models/Components/NetOperatingIncome.cs new file mode 100644 index 00000000..e935a602 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/NetOperatingIncome.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class NetOperatingIncome + { + + /// + /// Total net operating income + /// + [JsonProperty("total", NullValueHandling = NullValueHandling.Include)] + public double? Total { get; set; } + + [JsonProperty("records")] + public object Records { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Note.cs b/src/Apideck/Unify/SDK/Models/Components/Note.cs new file mode 100644 index 00000000..e4a545a1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Note.cs @@ -0,0 +1,110 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class Note + { + + /// + /// The unique identifier of the note + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The title of the note + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// The content of the note. + /// + [JsonProperty("content")] + public string? Content { get; set; } = null; + + /// + /// The user that owns the note. + /// + [JsonProperty("owner_id")] + public string? OwnerId { get; set; } = null; + + /// + /// The contact that is related to the note. + /// + [JsonProperty("contact_id")] + public string? ContactId { get; set; } = null; + + /// + /// The company that is related to the note. + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The opportunity that is related to the note. + /// + [JsonProperty("opportunity_id")] + public string? OpportunityId { get; set; } = null; + + /// + /// The lead that is related to the note. + /// + [JsonProperty("lead_id")] + public string? LeadId { get; set; } = null; + + /// + /// Whether the Note is active or not. + /// + [JsonProperty("active")] + public bool? Active { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user that last updated the note. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user that created the note. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The timestamp when the note was last updated + /// + [JsonProperty("updated_at")] + public string? UpdatedAt { get; set; } = null; + + /// + /// The timestamp when the note was created + /// + [JsonProperty("created_at")] + public string? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/NoteInput.cs b/src/Apideck/Unify/SDK/Models/Components/NoteInput.cs new file mode 100644 index 00000000..48440e4b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/NoteInput.cs @@ -0,0 +1,74 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class NoteInput + { + + /// + /// The title of the note + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// The content of the note. + /// + [JsonProperty("content")] + public string? Content { get; set; } = null; + + /// + /// The user that owns the note. + /// + [JsonProperty("owner_id")] + public string? OwnerId { get; set; } = null; + + /// + /// The contact that is related to the note. + /// + [JsonProperty("contact_id")] + public string? ContactId { get; set; } = null; + + /// + /// The company that is related to the note. + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The opportunity that is related to the note. + /// + [JsonProperty("opportunity_id")] + public string? OpportunityId { get; set; } = null; + + /// + /// The lead that is related to the note. + /// + [JsonProperty("lead_id")] + public string? LeadId { get; set; } = null; + + /// + /// Whether the Note is active or not. + /// + [JsonProperty("active")] + public bool? Active { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Notes.cs b/src/Apideck/Unify/SDK/Models/Components/Notes.cs new file mode 100644 index 00000000..9efd520b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Notes.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Notes + { + + [JsonProperty("employee")] + public string? Employee { get; set; } = null; + + [JsonProperty("manager")] + public string? Manager { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/OAuthGrantType.cs b/src/Apideck/Unify/SDK/Models/Components/OAuthGrantType.cs new file mode 100644 index 00000000..ee92309f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/OAuthGrantType.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// OAuth grant type used by the connector. More info: https://oauth.net/2/grant-types + /// + public enum OAuthGrantType + { + [JsonProperty("authorization_code")] + AuthorizationCode, + [JsonProperty("client_credentials")] + ClientCredentials, + [JsonProperty("password")] + Password, + } + + public static class OAuthGrantTypeExtension + { + public static string Value(this OAuthGrantType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static OAuthGrantType ToEnum(this string value) + { + foreach(var field in typeof(OAuthGrantType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is OAuthGrantType) + { + return (OAuthGrantType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum OAuthGrantType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/OauthCredentialsSource.cs b/src/Apideck/Unify/SDK/Models/Components/OauthCredentialsSource.cs new file mode 100644 index 00000000..93f8301b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/OauthCredentialsSource.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Location of the OAuth client credentials. For most connectors the OAuth client credentials are stored on integration and managed by the application owner. For others they are stored on connection and managed by the consumer in Vault. + /// + public enum OauthCredentialsSource + { + [JsonProperty("integration")] + Integration, + [JsonProperty("connection")] + Connection, + } + + public static class OauthCredentialsSourceExtension + { + public static string Value(this OauthCredentialsSource value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static OauthCredentialsSource ToEnum(this string value) + { + foreach(var field in typeof(OauthCredentialsSource).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is OauthCredentialsSource) + { + return (OauthCredentialsSource)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum OauthCredentialsSource"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/OauthScopes.cs b/src/Apideck/Unify/SDK/Models/Components/OauthScopes.cs new file mode 100644 index 00000000..a3902100 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/OauthScopes.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class OauthScopes + { + + /// + /// ID of the OAuth scope. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Label of the OAuth scope. + /// + [JsonProperty("label")] + public string? Label { get; set; } + + /// + /// List of Unified APIs that request this OAuth Scope by default. Application owners can customize the requested scopes. + /// + [JsonProperty("default_apis")] + public List? DefaultApis { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/OddWeeks.cs b/src/Apideck/Unify/SDK/Models/Components/OddWeeks.cs new file mode 100644 index 00000000..e3994d7a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/OddWeeks.cs @@ -0,0 +1,39 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class OddWeeks + { + + [JsonProperty("hours_monday")] + public double? HoursMonday { get; set; } + + [JsonProperty("hours_tuesday")] + public double? HoursTuesday { get; set; } + + [JsonProperty("hours_wednesday")] + public double? HoursWednesday { get; set; } + + [JsonProperty("hours_thursday")] + public double? HoursThursday { get; set; } + + [JsonProperty("hours_friday")] + public double? HoursFriday { get; set; } + + [JsonProperty("hours_saturday")] + public double? HoursSaturday { get; set; } + + [JsonProperty("hours_sunday")] + public double? HoursSunday { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Operation.cs b/src/Apideck/Unify/SDK/Models/Components/Operation.cs new file mode 100644 index 00000000..6f05dbc9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Operation.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// The request as defined in OpenApi Spec. + /// + public class Operation + { + + /// + /// The OpenApi Operation Id associated with the request + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The OpenApi Operation name associated with the request + /// + [JsonProperty("name")] + public string Name { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/OpportunitiesFilter.cs b/src/Apideck/Unify/SDK/Models/Components/OpportunitiesFilter.cs new file mode 100644 index 00000000..77d57a7a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/OpportunitiesFilter.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class OpportunitiesFilter + { + + /// + /// Title of the opportunity to filter on + /// + [SpeakeasyMetadata("queryParam:name=title")] + public string? Title { get; set; } + + /// + /// Status to filter on + /// + [SpeakeasyMetadata("queryParam:name=status")] + public string? Status { get; set; } + + /// + /// Monetary amount to filter on + /// + [SpeakeasyMetadata("queryParam:name=monetary_amount")] + public double? MonetaryAmount { get; set; } + + /// + /// Win probability to filter on + /// + [SpeakeasyMetadata("queryParam:name=win_probability")] + public double? WinProbability { get; set; } + + /// + /// Company ID to filter on + /// + [SpeakeasyMetadata("queryParam:name=company_id")] + public string? CompanyId { get; set; } + + /// + /// Owner ID to filter on + /// + [SpeakeasyMetadata("queryParam:name=owner_id")] + public string? OwnerId { get; set; } + + /// + /// Primary contact ID to filter on + /// + [SpeakeasyMetadata("queryParam:name=primary_contact_id")] + public string? PrimaryContactId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/OpportunitiesSort.cs b/src/Apideck/Unify/SDK/Models/Components/OpportunitiesSort.cs new file mode 100644 index 00000000..226ace71 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/OpportunitiesSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class OpportunitiesSort + { + + /// + /// The field on which to sort the Opportunities + /// + [SpeakeasyMetadata("queryParam:name=by")] + public OpportunitiesSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/OpportunitiesSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/OpportunitiesSortBy.cs new file mode 100644 index 00000000..1cad7057 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/OpportunitiesSortBy.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Opportunities + /// + public enum OpportunitiesSortBy + { + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + [JsonProperty("title")] + Title, + [JsonProperty("win_probability")] + WinProbability, + [JsonProperty("monetary_amount")] + MonetaryAmount, + [JsonProperty("status")] + Status, + } + + public static class OpportunitiesSortByExtension + { + public static string Value(this OpportunitiesSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static OpportunitiesSortBy ToEnum(this string value) + { + foreach(var field in typeof(OpportunitiesSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is OpportunitiesSortBy) + { + return (OpportunitiesSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum OpportunitiesSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Opportunity.cs b/src/Apideck/Unify/SDK/Models/Components/Opportunity.cs new file mode 100644 index 00000000..9c8707be --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Opportunity.cs @@ -0,0 +1,268 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class Opportunity + { + + /// + /// A unique identifier for the opportunity. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The title or name of the opportunity. + /// + [JsonProperty("title")] + public string Title { get; set; } = default!; + + /// + /// The unique identifier of the primary contact associated with the opportunity. + /// + [JsonProperty("primary_contact_id", NullValueHandling = NullValueHandling.Include)] + public string? PrimaryContactId { get; set; } + + /// + /// A description of the opportunity. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The type of the opportunity + /// + [JsonProperty("type")] + public string? Type { get; set; } = null; + + /// + /// The monetary value associated with the opportunity + /// + [JsonProperty("monetary_amount")] + public double? MonetaryAmount { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// The probability of winning the opportunity, expressed as a percentage. + /// + [JsonProperty("win_probability")] + public double? WinProbability { get; set; } = null; + + /// + /// The expected revenue from the opportunity + /// + [JsonProperty("expected_revenue")] + public double? ExpectedRevenue { get; set; } = null; + + /// + /// The actual closing date for the opportunity. If close_date is null, the opportunity is not closed yet. + /// + [JsonProperty("close_date")] + public LocalDate? CloseDate { get; set; } = null; + + /// + /// The unique identifier of the reason why the opportunity was lost. + /// + [JsonProperty("loss_reason_id")] + public string? LossReasonId { get; set; } = null; + + /// + /// The reason why the opportunity was lost. + /// + [JsonProperty("loss_reason")] + public string? LossReason { get; set; } = null; + + /// + /// The unique identifier of the reason why the opportunity was won. + /// + [JsonProperty("won_reason_id")] + public string? WonReasonId { get; set; } = null; + + /// + /// The reason why the opportunity was won. + /// + [JsonProperty("won_reason")] + public string? WonReason { get; set; } = null; + + /// + /// The unique identifier of the pipeline associated with the opportunity + /// + [JsonProperty("pipeline_id")] + public string? PipelineId { get; set; } = null; + + /// + /// The unique identifier of the stage in the pipeline associated with the opportunity. + /// + [JsonProperty("pipeline_stage_id")] + public string? PipelineStageId { get; set; } = null; + + /// + /// The unique identifier of the source of the opportunity. + /// + [JsonProperty("source_id")] + public string? SourceId { get; set; } = null; + + /// + /// The unique identifier of the lead associated with the opportunity. + /// + [JsonProperty("lead_id")] + public string? LeadId { get; set; } = null; + + /// + /// The source of the lead associated with the opportunity. + /// + [JsonProperty("lead_source")] + public string? LeadSource { get; set; } = null; + + /// + /// The unique identifier of the contact associated with the opportunity. + /// + [JsonProperty("contact_id")] + public string? ContactId { get; set; } = null; + + /// + /// An array of unique identifiers of all contacts associated with the opportunity. + /// + [JsonProperty("contact_ids")] + public List? ContactIds { get; set; } + + /// + /// The unique identifier of the company associated with the opportunity. + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The name of the company associated with the opportunity. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// The unique identifier of the user who owns the opportunity. + /// + [JsonProperty("owner_id")] + public string? OwnerId { get; set; } = null; + + /// + /// The priority level of the opportunity. + /// + [JsonProperty("priority")] + public string? Priority { get; set; } = null; + + /// + /// The current status of the opportunity. + /// + [JsonProperty("status")] + public string? Status { get; set; } = null; + + /// + /// The unique identifier of the current status of the opportunity. + /// + [JsonProperty("status_id")] + public string? StatusId { get; set; } = null; + + [JsonProperty("tags")] + public List? Tags { get; set; } = null; + + /// + /// The number of interactions with the opportunity. + /// + [JsonProperty("interaction_count")] + public double? InteractionCount { get; set; } = null; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + /// + /// The date and time when the stage of the opportunity was last changed. + /// + [JsonProperty("stage_last_changed_at")] + public DateTime? StageLastChangedAt { get; set; } = null; + + /// + /// The date and time of the last activity associated with the opportunity. + /// + [JsonProperty("last_activity_at")] + public string? LastActivityAt { get; set; } = null; + + /// + /// Indicates whether the opportunity has been deleted. + /// + [JsonProperty("deleted")] + public bool? Deleted { get; set; } + + /// + /// The date and time when the stage of the opportunity was last changed. + /// + [JsonProperty("date_stage_changed")] + public DateTime? DateStageChanged { get; set; } = null; + + /// + /// The date and time when the opportunity was last contacted. + /// + [JsonProperty("date_last_contacted")] + public DateTime? DateLastContacted { get; set; } = null; + + /// + /// The date and time when the lead associated with the opportunity was created. + /// + [JsonProperty("date_lead_created")] + public DateTime? DateLeadCreated { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The unique identifier of the user who last updated the opportunity. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The unique identifier of the user who created the opportunity. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the opportunity was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the opportunity was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/OpportunityInput.cs b/src/Apideck/Unify/SDK/Models/Components/OpportunityInput.cs new file mode 100644 index 00000000..2ad5eafe --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/OpportunityInput.cs @@ -0,0 +1,190 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class OpportunityInput + { + + /// + /// The title or name of the opportunity. + /// + [JsonProperty("title")] + public string Title { get; set; } = default!; + + /// + /// The unique identifier of the primary contact associated with the opportunity. + /// + [JsonProperty("primary_contact_id", NullValueHandling = NullValueHandling.Include)] + public string? PrimaryContactId { get; set; } + + /// + /// A description of the opportunity. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The type of the opportunity + /// + [JsonProperty("type")] + public string? Type { get; set; } = null; + + /// + /// The monetary value associated with the opportunity + /// + [JsonProperty("monetary_amount")] + public double? MonetaryAmount { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// The probability of winning the opportunity, expressed as a percentage. + /// + [JsonProperty("win_probability")] + public double? WinProbability { get; set; } = null; + + /// + /// The actual closing date for the opportunity. If close_date is null, the opportunity is not closed yet. + /// + [JsonProperty("close_date")] + public LocalDate? CloseDate { get; set; } = null; + + /// + /// The unique identifier of the reason why the opportunity was lost. + /// + [JsonProperty("loss_reason_id")] + public string? LossReasonId { get; set; } = null; + + /// + /// The reason why the opportunity was lost. + /// + [JsonProperty("loss_reason")] + public string? LossReason { get; set; } = null; + + /// + /// The unique identifier of the reason why the opportunity was won. + /// + [JsonProperty("won_reason_id")] + public string? WonReasonId { get; set; } = null; + + /// + /// The reason why the opportunity was won. + /// + [JsonProperty("won_reason")] + public string? WonReason { get; set; } = null; + + /// + /// The unique identifier of the pipeline associated with the opportunity + /// + [JsonProperty("pipeline_id")] + public string? PipelineId { get; set; } = null; + + /// + /// The unique identifier of the stage in the pipeline associated with the opportunity. + /// + [JsonProperty("pipeline_stage_id")] + public string? PipelineStageId { get; set; } = null; + + /// + /// The unique identifier of the source of the opportunity. + /// + [JsonProperty("source_id")] + public string? SourceId { get; set; } = null; + + /// + /// The unique identifier of the lead associated with the opportunity. + /// + [JsonProperty("lead_id")] + public string? LeadId { get; set; } = null; + + /// + /// The source of the lead associated with the opportunity. + /// + [JsonProperty("lead_source")] + public string? LeadSource { get; set; } = null; + + /// + /// The unique identifier of the contact associated with the opportunity. + /// + [JsonProperty("contact_id")] + public string? ContactId { get; set; } = null; + + /// + /// An array of unique identifiers of all contacts associated with the opportunity. + /// + [JsonProperty("contact_ids")] + public List? ContactIds { get; set; } + + /// + /// The unique identifier of the company associated with the opportunity. + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The name of the company associated with the opportunity. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// The unique identifier of the user who owns the opportunity. + /// + [JsonProperty("owner_id")] + public string? OwnerId { get; set; } = null; + + /// + /// The priority level of the opportunity. + /// + [JsonProperty("priority")] + public string? Priority { get; set; } = null; + + /// + /// The current status of the opportunity. + /// + [JsonProperty("status")] + public string? Status { get; set; } = null; + + /// + /// The unique identifier of the current status of the opportunity. + /// + [JsonProperty("status_id")] + public string? StatusId { get; set; } = null; + + [JsonProperty("tags")] + public List? Tags { get; set; } = null; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + /// + /// The date and time when the stage of the opportunity was last changed. + /// + [JsonProperty("stage_last_changed_at")] + public DateTime? StageLastChangedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Options.cs b/src/Apideck/Unify/SDK/Models/Components/Options.cs new file mode 100644 index 00000000..937e37fd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Options.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Options + { + + /// + /// A unique identifier for the option. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The name of the option. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// The value of the option. + /// + [JsonProperty("value")] + public string? Value { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/OrdersSort.cs b/src/Apideck/Unify/SDK/Models/Components/OrdersSort.cs new file mode 100644 index 00000000..21e46fb5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/OrdersSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class OrdersSort + { + + /// + /// The field on which to sort the Orders + /// + [SpeakeasyMetadata("queryParam:name=by")] + public OrdersSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/OrdersSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/OrdersSortBy.cs new file mode 100644 index 00000000..cb5cb16d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/OrdersSortBy.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Orders + /// + public enum OrdersSortBy + { + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + [JsonProperty("name")] + Name, + } + + public static class OrdersSortByExtension + { + public static string Value(this OrdersSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static OrdersSortBy ToEnum(this string value) + { + foreach(var field in typeof(OrdersSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is OrdersSortBy) + { + return (OrdersSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum OrdersSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Owner.cs b/src/Apideck/Unify/SDK/Models/Components/Owner.cs new file mode 100644 index 00000000..7a1a9d5e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Owner.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Owner + { + + /// + /// ID of the owner + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Email of the owner + /// + [JsonProperty("email")] + public string? Email { get; set; } = null; + + /// + /// Name of the owner + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PaginationCoverage.cs b/src/Apideck/Unify/SDK/Models/Components/PaginationCoverage.cs new file mode 100644 index 00000000..73f6a7af --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PaginationCoverage.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class PaginationCoverage + { + + /// + /// How pagination is implemented on this connector. Native mode means Apideck is using the pagination parameters of the connector. With virtual pagination, the connector does not support pagination, but Apideck emulates it. + /// + [JsonProperty("mode")] + public PaginationCoverageMode? Mode { get; set; } + + /// + /// Indicates whether the connector supports paging through results using the cursor parameter. + /// + [JsonProperty("paging_support")] + public bool? PagingSupport { get; set; } + + /// + /// Indicates whether the connector supports changing the page size by using the limit parameter. + /// + [JsonProperty("limit_support")] + public bool? LimitSupport { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PaginationCoverageMode.cs b/src/Apideck/Unify/SDK/Models/Components/PaginationCoverageMode.cs new file mode 100644 index 00000000..3b9fb31a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PaginationCoverageMode.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// How pagination is implemented on this connector. Native mode means Apideck is using the pagination parameters of the connector. With virtual pagination, the connector does not support pagination, but Apideck emulates it. + /// + public enum PaginationCoverageMode + { + [JsonProperty("native")] + Native, + [JsonProperty("virtual")] + Virtual, + } + + public static class PaginationCoverageModeExtension + { + public static string Value(this PaginationCoverageMode value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static PaginationCoverageMode ToEnum(this string value) + { + foreach(var field in typeof(PaginationCoverageMode).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is PaginationCoverageMode) + { + return (PaginationCoverageMode)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum PaginationCoverageMode"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ParentAccount.cs b/src/Apideck/Unify/SDK/Models/Components/ParentAccount.cs new file mode 100644 index 00000000..9d735373 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ParentAccount.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ParentAccount + { + + /// + /// The ID of the parent account. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The name of the parent account. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// The human readable display ID used when displaying the parent account + /// + [JsonProperty("display_id")] + public string? DisplayId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PassThroughBody.cs b/src/Apideck/Unify/SDK/Models/Components/PassThroughBody.cs new file mode 100644 index 00000000..2b2d458c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PassThroughBody.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class PassThroughBody + { + + /// + /// Identifier for the service to which this pass_through should be applied. + /// + [JsonProperty("service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// Optional identifier for a workflow operation to which this pass_through should be applied. This is useful for Unify calls that are making more than one downstream request. + /// + [JsonProperty("operation_id")] + public string? OperationId { get; set; } + + /// + /// Simple object allowing any properties for direct extension. + /// + [JsonProperty("extend_object")] + public Dictionary? ExtendObject { get; set; } + + /// + /// Array of objects for structured data modifications via paths. + /// + [JsonProperty("extend_paths")] + public List? ExtendPaths { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Payment.cs b/src/Apideck/Unify/SDK/Models/Components/Payment.cs new file mode 100644 index 00000000..bc07b0af --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Payment.cs @@ -0,0 +1,207 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class Payment + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The third-party API ID of original entity + /// + [JsonProperty("downstream_id")] + public string? DownstreamId { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// The total amount of the transaction + /// + [JsonProperty("total_amount", NullValueHandling = NullValueHandling.Include)] + public double? TotalAmount { get; set; } + + /// + /// Optional transaction reference message ie: Debit remittance detail. + /// + [JsonProperty("reference")] + public string? Reference { get; set; } = null; + + /// + /// Payment method used for the transaction, such as cash, credit card, bank transfer, or check + /// + [JsonProperty("payment_method")] + public string? PaymentMethod { get; set; } = null; + + /// + /// Optional reference message returned by payment method on processing + /// + [JsonProperty("payment_method_reference")] + public string? PaymentMethodReference { get; set; } = null; + + /// + /// A unique identifier for an object. + /// + [JsonProperty("payment_method_id")] + public string? PaymentMethodId { get; set; } = null; + + /// + /// Type of accounts receivable account. + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("accounts_receivable_account_type")] + public string? AccountsReceivableAccountType { get; set; } = null; + + /// + /// Unique identifier for the account to allocate payment to. + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("accounts_receivable_account_id")] + public string? AccountsReceivableAccountId { get; set; } = null; + + [JsonProperty("account")] + public LinkedLedgerAccount? Account { get; set; } = null; + + /// + /// The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD + /// + [JsonProperty("transaction_date", NullValueHandling = NullValueHandling.Include)] + public DateTime? TransactionDate { get; set; } + + /// + /// The customer this entity is linked to. + /// + [JsonProperty("customer")] + public LinkedCustomer? Customer { get; set; } = null; + + /// + /// The supplier this entity is linked to. + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("supplier")] + public DeprecatedLinkedSupplier? Supplier { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// Indicates if the transaction has been reconciled. + /// + [JsonProperty("reconciled")] + public bool? Reconciled { get; set; } = null; + + /// + /// Status of payment + /// + [JsonProperty("status")] + public PaymentStatus? Status { get; set; } + + /// + /// Type of payment + /// + [JsonProperty("type")] + public PaymentType? Type { get; set; } + + [JsonProperty("allocations")] + public List? Allocations { get; set; } + + /// + /// Note associated with the transaction + /// + [JsonProperty("note")] + public string? Note { get; set; } = null; + + /// + /// Number associated with the transaction + /// + [JsonProperty("number")] + public string? Number { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// Id to be displayed. + /// + [JsonProperty("display_id")] + public string? DisplayId { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PaymentFrequency.cs b/src/Apideck/Unify/SDK/Models/Components/PaymentFrequency.cs new file mode 100644 index 00000000..20efab6f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PaymentFrequency.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Frequency of employee compensation. + /// + public enum PaymentFrequency + { + [JsonProperty("weekly")] + Weekly, + [JsonProperty("biweekly")] + Biweekly, + [JsonProperty("monthly")] + Monthly, + [JsonProperty("pro-rata")] + ProRata, + [JsonProperty("other")] + Other, + } + + public static class PaymentFrequencyExtension + { + public static string Value(this PaymentFrequency value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static PaymentFrequency ToEnum(this string value) + { + foreach(var field in typeof(PaymentFrequency).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is PaymentFrequency) + { + return (PaymentFrequency)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum PaymentFrequency"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PaymentInput.cs b/src/Apideck/Unify/SDK/Models/Components/PaymentInput.cs new file mode 100644 index 00000000..ba370be1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PaymentInput.cs @@ -0,0 +1,165 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class PaymentInput + { + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// The total amount of the transaction + /// + [JsonProperty("total_amount", NullValueHandling = NullValueHandling.Include)] + public double? TotalAmount { get; set; } + + /// + /// Optional transaction reference message ie: Debit remittance detail. + /// + [JsonProperty("reference")] + public string? Reference { get; set; } = null; + + /// + /// Payment method used for the transaction, such as cash, credit card, bank transfer, or check + /// + [JsonProperty("payment_method")] + public string? PaymentMethod { get; set; } = null; + + /// + /// Optional reference message returned by payment method on processing + /// + [JsonProperty("payment_method_reference")] + public string? PaymentMethodReference { get; set; } = null; + + /// + /// A unique identifier for an object. + /// + [JsonProperty("payment_method_id")] + public string? PaymentMethodId { get; set; } = null; + + /// + /// Type of accounts receivable account. + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("accounts_receivable_account_type")] + public string? AccountsReceivableAccountType { get; set; } = null; + + /// + /// Unique identifier for the account to allocate payment to. + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("accounts_receivable_account_id")] + public string? AccountsReceivableAccountId { get; set; } = null; + + [JsonProperty("account")] + public LinkedLedgerAccountInput? Account { get; set; } = null; + + /// + /// The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD + /// + [JsonProperty("transaction_date", NullValueHandling = NullValueHandling.Include)] + public DateTime? TransactionDate { get; set; } + + /// + /// The customer this entity is linked to. + /// + [JsonProperty("customer")] + public LinkedCustomerInput? Customer { get; set; } = null; + + /// + /// The supplier this entity is linked to. + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("supplier")] + public DeprecatedLinkedSupplierInput? Supplier { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// Indicates if the transaction has been reconciled. + /// + [JsonProperty("reconciled")] + public bool? Reconciled { get; set; } = null; + + /// + /// Status of payment + /// + [JsonProperty("status")] + public PaymentStatus? Status { get; set; } + + /// + /// Type of payment + /// + [JsonProperty("type")] + public PaymentType? Type { get; set; } + + [JsonProperty("allocations")] + public List? Allocations { get; set; } + + /// + /// Note associated with the transaction + /// + [JsonProperty("note")] + public string? Note { get; set; } = null; + + /// + /// Number associated with the transaction + /// + [JsonProperty("number")] + public string? Number { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + [JsonProperty("custom_fields")] + public List? CustomFields { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// Id to be displayed. + /// + [JsonProperty("display_id")] + public string? DisplayId { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PaymentStatus.cs b/src/Apideck/Unify/SDK/Models/Components/PaymentStatus.cs new file mode 100644 index 00000000..4e763285 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PaymentStatus.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Status of payment + /// + public enum PaymentStatus + { + [JsonProperty("authorised")] + Authorised, + [JsonProperty("paid")] + Paid, + [JsonProperty("voided")] + Voided, + [JsonProperty("deleted")] + Deleted, + } + + public static class PaymentStatusExtension + { + public static string Value(this PaymentStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static PaymentStatus ToEnum(this string value) + { + foreach(var field in typeof(PaymentStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is PaymentStatus) + { + return (PaymentStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum PaymentStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PaymentType.cs b/src/Apideck/Unify/SDK/Models/Components/PaymentType.cs new file mode 100644 index 00000000..3dee76c5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PaymentType.cs @@ -0,0 +1,72 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Type of payment + /// + public enum PaymentType + { + [JsonProperty("accounts_receivable")] + AccountsReceivable, + [JsonProperty("accounts_payable")] + AccountsPayable, + [JsonProperty("accounts_receivable_credit")] + AccountsReceivableCredit, + [JsonProperty("accounts_payable_credit")] + AccountsPayableCredit, + [JsonProperty("accounts_receivable_overpayment")] + AccountsReceivableOverpayment, + [JsonProperty("accounts_payable_overpayment")] + AccountsPayableOverpayment, + [JsonProperty("accounts_receivable_prepayment")] + AccountsReceivablePrepayment, + [JsonProperty("accounts_payable_prepayment")] + AccountsPayablePrepayment, + } + + public static class PaymentTypeExtension + { + public static string Value(this PaymentType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static PaymentType ToEnum(this string value) + { + foreach(var field in typeof(PaymentType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is PaymentType) + { + return (PaymentType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum PaymentType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PaymentUnit.cs b/src/Apideck/Unify/SDK/Models/Components/PaymentUnit.cs new file mode 100644 index 00000000..e2ff5c6c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PaymentUnit.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Unit of measurement for employee compensation. + /// + public enum PaymentUnit + { + [JsonProperty("hour")] + Hour, + [JsonProperty("week")] + Week, + [JsonProperty("month")] + Month, + [JsonProperty("year")] + Year, + [JsonProperty("paycheck")] + Paycheck, + [JsonProperty("other")] + Other, + } + + public static class PaymentUnitExtension + { + public static string Value(this PaymentUnit value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static PaymentUnit ToEnum(this string value) + { + foreach(var field in typeof(PaymentUnit).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is PaymentUnit) + { + return (PaymentUnit)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum PaymentUnit"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PaymentsFilter.cs b/src/Apideck/Unify/SDK/Models/Components/PaymentsFilter.cs new file mode 100644 index 00000000..890a54da --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PaymentsFilter.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using System; + + public class PaymentsFilter + { + + [SpeakeasyMetadata("queryParam:name=updated_since")] + public DateTime? UpdatedSince { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PaymentsSort.cs b/src/Apideck/Unify/SDK/Models/Components/PaymentsSort.cs new file mode 100644 index 00000000..ea412b26 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PaymentsSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class PaymentsSort + { + + /// + /// The field on which to sort the Payments + /// + [SpeakeasyMetadata("queryParam:name=by")] + public PaymentsSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PaymentsSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/PaymentsSortBy.cs new file mode 100644 index 00000000..30395a93 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PaymentsSortBy.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Payments + /// + public enum PaymentsSortBy + { + [JsonProperty("updated_at")] + UpdatedAt, + [JsonProperty("created_at")] + CreatedAt, + } + + public static class PaymentsSortByExtension + { + public static string Value(this PaymentsSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static PaymentsSortBy ToEnum(this string value) + { + foreach(var field in typeof(PaymentsSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is PaymentsSortBy) + { + return (PaymentsSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum PaymentsSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Payroll.cs b/src/Apideck/Unify/SDK/Models/Components/Payroll.cs new file mode 100644 index 00000000..7bc86541 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Payroll.cs @@ -0,0 +1,80 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class Payroll + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id", NullValueHandling = NullValueHandling.Include)] + public string? Id { get; set; } + + /// + /// The unique identifier of the company. + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// Whether or not the payroll has been successfully processed. Note that processed payrolls cannot be updated. + /// + [JsonProperty("processed", NullValueHandling = NullValueHandling.Include)] + public bool? Processed { get; set; } + + /// + /// The date the payroll was processed. + /// + [JsonProperty("processed_date")] + public string? ProcessedDate { get; set; } = null; + + /// + /// The date on which employees will be paid for the payroll. + /// + [JsonProperty("check_date", NullValueHandling = NullValueHandling.Include)] + public string? CheckDate { get; set; } + + /// + /// The start date, inclusive, of the pay period. + /// + [JsonProperty("start_date", NullValueHandling = NullValueHandling.Include)] + public string? StartDate { get; set; } + + /// + /// The end date, inclusive, of the pay period. + /// + [JsonProperty("end_date", NullValueHandling = NullValueHandling.Include)] + public string? EndDate { get; set; } + + /// + /// The overview of the payroll totals. + /// + [JsonProperty("totals")] + public PayrollTotals? Totals { get; set; } + + /// + /// An array of compensations for the payroll. + /// + [JsonProperty("compensations")] + public List? Compensations { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PayrollTotals.cs b/src/Apideck/Unify/SDK/Models/Components/PayrollTotals.cs new file mode 100644 index 00000000..64fb6b59 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PayrollTotals.cs @@ -0,0 +1,75 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// The overview of the payroll totals. + /// + public class PayrollTotals + { + + /// + /// The total company debit for the payroll. + /// + [JsonProperty("company_debit")] + public double? CompanyDebit { get; set; } = null; + + /// + /// The total tax debit for the payroll. + /// + [JsonProperty("tax_debit")] + public double? TaxDebit { get; set; } = null; + + /// + /// The total check amount for the payroll. + /// + [JsonProperty("check_amount")] + public double? CheckAmount { get; set; } = null; + + /// + /// The net pay amount for the payroll. + /// + [JsonProperty("net_pay")] + public double? NetPay { get; set; } = null; + + /// + /// The gross pay amount for the payroll. + /// + [JsonProperty("gross_pay")] + public double? GrossPay { get; set; } = null; + + /// + /// The total amount of employer paid taxes for the payroll. + /// + [JsonProperty("employer_taxes")] + public double? EmployerTaxes { get; set; } = null; + + /// + /// The total amount of employee paid taxes for the payroll. + /// + [JsonProperty("employee_taxes")] + public double? EmployeeTaxes { get; set; } = null; + + /// + /// The total amount of company contributed benefits for the payroll. + /// + [JsonProperty("employer_benefit_contributions")] + public double? EmployerBenefitContributions { get; set; } = null; + + /// + /// The total amount of employee deducted benefits for the payroll. + /// + [JsonProperty("employee_benefit_deductions")] + public double? EmployeeBenefitDeductions { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PayrollsFilter.cs b/src/Apideck/Unify/SDK/Models/Components/PayrollsFilter.cs new file mode 100644 index 00000000..73a052b8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PayrollsFilter.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class PayrollsFilter + { + + /// + /// Return payrolls whose pay period is after the start date + /// + [SpeakeasyMetadata("queryParam:name=start_date")] + public string? StartDate { get; set; } + + /// + /// Return payrolls whose pay period is before the end date + /// + [SpeakeasyMetadata("queryParam:name=end_date")] + public string? EndDate { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PeriodType.cs b/src/Apideck/Unify/SDK/Models/Components/PeriodType.cs new file mode 100644 index 00000000..10b07dbd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PeriodType.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of period to include in the resource: month, quarter, year. + /// + public enum PeriodType + { + [JsonProperty("month")] + Month, + [JsonProperty("quarter")] + Quarter, + [JsonProperty("year")] + Year, + } + + public static class PeriodTypeExtension + { + public static string Value(this PeriodType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static PeriodType ToEnum(this string value) + { + foreach(var field in typeof(PeriodType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is PeriodType) + { + return (PeriodType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum PeriodType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Permissions.cs b/src/Apideck/Unify/SDK/Models/Components/Permissions.cs new file mode 100644 index 00000000..b19a00c4 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Permissions.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Permissions the current user has on this file. + /// + public class Permissions + { + + /// + /// Whether the current user can download this file. + /// + [JsonProperty("download")] + public bool? Download { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Person.cs b/src/Apideck/Unify/SDK/Models/Components/Person.cs new file mode 100644 index 00000000..0580b9d2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Person.cs @@ -0,0 +1,74 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + + public class Person + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The first name of the person. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// The last name of the person. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// Middle name of the person. + /// + [JsonProperty("middle_name")] + public string? MiddleName { get; set; } = null; + + /// + /// The gender represents the gender identity of a person. + /// + [JsonProperty("gender")] + public Gender? Gender { get; set; } = null; + + /// + /// Initials of the person + /// + [JsonProperty("initials")] + public string? Initials { get; set; } = null; + + /// + /// Date of birth + /// + [JsonProperty("birthday")] + public LocalDate? Birthday { get; set; } = null; + + /// + /// Date of death + /// + [JsonProperty("deceased_on")] + public LocalDate? DeceasedOn { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PersonInput.cs b/src/Apideck/Unify/SDK/Models/Components/PersonInput.cs new file mode 100644 index 00000000..343babcc --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PersonInput.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + + public class PersonInput + { + + /// + /// The first name of the person. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// The last name of the person. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// Middle name of the person. + /// + [JsonProperty("middle_name")] + public string? MiddleName { get; set; } = null; + + /// + /// The gender represents the gender identity of a person. + /// + [JsonProperty("gender")] + public Gender? Gender { get; set; } = null; + + /// + /// Initials of the person + /// + [JsonProperty("initials")] + public string? Initials { get; set; } = null; + + /// + /// Date of birth + /// + [JsonProperty("birthday")] + public LocalDate? Birthday { get; set; } = null; + + /// + /// Date of death + /// + [JsonProperty("deceased_on")] + public LocalDate? DeceasedOn { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PhoneNumber.cs b/src/Apideck/Unify/SDK/Models/Components/PhoneNumber.cs new file mode 100644 index 00000000..74d18932 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PhoneNumber.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class PhoneNumber + { + + /// + /// Unique identifier of the phone number + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The country code of the phone number, e.g. +1 + /// + [JsonProperty("country_code")] + public string? CountryCode { get; set; } = null; + + /// + /// The area code of the phone number, e.g. 323 + /// + [JsonProperty("area_code")] + public string? AreaCode { get; set; } = null; + + /// + /// The phone number + /// + [JsonProperty("number")] + public string Number { get; set; } = default!; + + /// + /// The extension of the phone number + /// + [JsonProperty("extension")] + public string? Extension { get; set; } = null; + + /// + /// The type of phone number + /// + [JsonProperty("type")] + public PhoneNumberType? Type { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PhoneNumberType.cs b/src/Apideck/Unify/SDK/Models/Components/PhoneNumberType.cs new file mode 100644 index 00000000..b17744d0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PhoneNumberType.cs @@ -0,0 +1,78 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of phone number + /// + public enum PhoneNumberType + { + [JsonProperty("primary")] + Primary, + [JsonProperty("secondary")] + Secondary, + [JsonProperty("home")] + Home, + [JsonProperty("work")] + Work, + [JsonProperty("office")] + Office, + [JsonProperty("mobile")] + Mobile, + [JsonProperty("assistant")] + Assistant, + [JsonProperty("fax")] + Fax, + [JsonProperty("direct-dial-in")] + DirectDialIn, + [JsonProperty("personal")] + Personal, + [JsonProperty("other")] + Other, + } + + public static class PhoneNumberTypeExtension + { + public static string Value(this PhoneNumberType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static PhoneNumberType ToEnum(this string value) + { + foreach(var field in typeof(PhoneNumberType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is PhoneNumberType) + { + return (PhoneNumberType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum PhoneNumberType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Pipeline.cs b/src/Apideck/Unify/SDK/Models/Components/Pipeline.cs new file mode 100644 index 00000000..328e1e87 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Pipeline.cs @@ -0,0 +1,87 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class Pipeline + { + + /// + /// The unique identifier of the Pipeline. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The name of the Pipeline. + /// + [JsonProperty("name")] + public string Name { get; set; } = default!; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Whether the Pipeline is archived or not. + /// + [JsonProperty("archived")] + public bool? Archived { get; set; } + + /// + /// Whether the Pipeline is active or not. + /// + [JsonProperty("active")] + public bool? Active { get; set; } + + /// + /// The order in which the Pipeline is displayed in the UI. + /// + [JsonProperty("display_order")] + public long? DisplayOrder { get; set; } = null; + + /// + /// Whether the Pipeline has win probability enabled or not. + /// + [JsonProperty("win_probability_enabled")] + public bool? WinProbabilityEnabled { get; set; } + + /// + /// The Pipeline Stages. + /// + [JsonProperty("stages")] + public List? Stages { get; set; } + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PipelineInput.cs b/src/Apideck/Unify/SDK/Models/Components/PipelineInput.cs new file mode 100644 index 00000000..e91fce64 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PipelineInput.cs @@ -0,0 +1,74 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class PipelineInput + { + + /// + /// The unique identifier of the Pipeline. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The name of the Pipeline. + /// + [JsonProperty("name")] + public string Name { get; set; } = default!; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Whether the Pipeline is archived or not. + /// + [JsonProperty("archived")] + public bool? Archived { get; set; } + + /// + /// Whether the Pipeline is active or not. + /// + [JsonProperty("active")] + public bool? Active { get; set; } + + /// + /// The order in which the Pipeline is displayed in the UI. + /// + [JsonProperty("display_order")] + public long? DisplayOrder { get; set; } = null; + + /// + /// Whether the Pipeline has win probability enabled or not. + /// + [JsonProperty("win_probability_enabled")] + public bool? WinProbabilityEnabled { get; set; } + + /// + /// The Pipeline Stages. + /// + [JsonProperty("stages")] + public List? Stages { get; set; } + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PipelineStages.cs b/src/Apideck/Unify/SDK/Models/Components/PipelineStages.cs new file mode 100644 index 00000000..cb3c4522 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PipelineStages.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class PipelineStages + { + + /// + /// The name of the Pipeline Stage. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// The value of the Pipeline Stage. + /// + [JsonProperty("value")] + public string? Value { get; set; } = null; + + /// + /// The expected probability of winning an Opportunity in this Pipeline Stage. Valid values are [0-100]. + /// + [JsonProperty("win_probability")] + public long? WinProbability { get; set; } = null; + + /// + /// The order in which the Pipeline Stage is displayed in the UI. + /// + [JsonProperty("display_order")] + public long? DisplayOrder { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Price.cs b/src/Apideck/Unify/SDK/Models/Components/Price.cs new file mode 100644 index 00000000..3937de71 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Price.cs @@ -0,0 +1,34 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Price of the message. + /// + public class Price + { + + [JsonProperty("per_unit")] + public string? PerUnit { get; set; } + + [JsonProperty("total_amount")] + public string? TotalAmount { get; set; } + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Priority.cs b/src/Apideck/Unify/SDK/Models/Components/Priority.cs new file mode 100644 index 00000000..133066c5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Priority.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Priority of the ticket + /// + public enum Priority + { + [JsonProperty("low")] + Low, + [JsonProperty("normal")] + Normal, + [JsonProperty("high")] + High, + [JsonProperty("urgent")] + Urgent, + } + + public static class PriorityExtension + { + public static string Value(this Priority value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static Priority ToEnum(this string value) + { + foreach(var field in typeof(Priority).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is Priority) + { + return (Priority)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum Priority"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ProbationPeriod.cs b/src/Apideck/Unify/SDK/Models/Components/ProbationPeriod.cs new file mode 100644 index 00000000..533f4a1c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ProbationPeriod.cs @@ -0,0 +1,31 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + + public class ProbationPeriod + { + + /// + /// The date that the employee started their probation period at the company. + /// + [JsonProperty("start_date")] + public LocalDate? StartDate { get; set; } = null; + + /// + /// The date that the employee ended their probation period at the company. + /// + [JsonProperty("end_date")] + public LocalDate? EndDate { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ProductStatus.cs b/src/Apideck/Unify/SDK/Models/Components/ProductStatus.cs new file mode 100644 index 00000000..3e75bd10 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ProductStatus.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The current status of the product (active or archived). + /// + public enum ProductStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("archived")] + Archived, + } + + public static class ProductStatusExtension + { + public static string Value(this ProductStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ProductStatus ToEnum(this string value) + { + foreach(var field in typeof(ProductStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ProductStatus) + { + return (ProductStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ProductStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ProfitAndLoss.cs b/src/Apideck/Unify/SDK/Models/Components/ProfitAndLoss.cs new file mode 100644 index 00000000..99aa5607 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ProfitAndLoss.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ProfitAndLoss + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The name of the report + /// + [JsonProperty("report_name")] + public string ReportName { get; set; } = default!; + + /// + /// The start date of the report + /// + [JsonProperty("start_date")] + public string? StartDate { get; set; } + + /// + /// The start date of the report + /// + [JsonProperty("end_date")] + public string? EndDate { get; set; } + + [JsonProperty("currency")] + public string Currency { get; set; } = default!; + + /// + /// Customer id + /// + [JsonProperty("customer_id")] + public string? CustomerId { get; set; } + + [JsonProperty("income")] + public Income Income { get; set; } = default!; + + [JsonProperty("expenses")] + public Models.Components.Expenses Expenses { get; set; } = default!; + + [JsonProperty("net_income")] + public NetIncome? NetIncome { get; set; } = null; + + [JsonProperty("net_operating_income")] + public NetOperatingIncome? NetOperatingIncome { get; set; } = null; + + [JsonProperty("gross_profit")] + public GrossProfit? GrossProfit { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ProfitAndLossFilter.cs b/src/Apideck/Unify/SDK/Models/Components/ProfitAndLossFilter.cs new file mode 100644 index 00000000..b094f74f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ProfitAndLossFilter.cs @@ -0,0 +1,35 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class ProfitAndLossFilter + { + + /// + /// Filter by customer id + /// + [SpeakeasyMetadata("queryParam:name=customer_id")] + public string? CustomerId { get; set; } + + /// + /// Filter by start date. If start date is given, end date is required. + /// + [SpeakeasyMetadata("queryParam:name=start_date")] + public string? StartDate { get; set; } + + /// + /// Filter by end date. If end date is given, start date is required. + /// + [SpeakeasyMetadata("queryParam:name=end_date")] + public string? EndDate { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PurchaseDetails.cs b/src/Apideck/Unify/SDK/Models/Components/PurchaseDetails.cs new file mode 100644 index 00000000..07f6bf82 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PurchaseDetails.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class PurchaseDetails + { + + [JsonProperty("unit_price")] + public double? UnitPrice { get; set; } = null; + + /// + /// Description of the unit type the item is sold as, ie: kg, hour. + /// + [JsonProperty("unit_of_measure")] + public string? UnitOfMeasure { get; set; } = null; + + /// + /// Amounts are including tax + /// + [JsonProperty("tax_inclusive")] + public bool? TaxInclusive { get; set; } = null; + + [JsonProperty("tax_rate")] + public LinkedTaxRate? TaxRate { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PurchaseOrder.cs b/src/Apideck/Unify/SDK/Models/Components/PurchaseOrder.cs new file mode 100644 index 00000000..319e0f93 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PurchaseOrder.cs @@ -0,0 +1,223 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + using System; + + public class PurchaseOrder + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The third-party API ID of original entity + /// + [JsonProperty("downstream_id")] + public string? DownstreamId { get; set; } = null; + + /// + /// A PO Number uniquely identifies a purchase order and is generally defined by the buyer. + /// + [JsonProperty("po_number")] + public string? PoNumber { get; set; } = null; + + /// + /// Optional purchase order reference. + /// + [JsonProperty("reference")] + public string? Reference { get; set; } = null; + + /// + /// The supplier this entity is linked to. + /// + [JsonProperty("supplier")] + public LinkedSupplier? Supplier { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + [JsonProperty("status")] + public PurchaseOrderStatus? Status { get; set; } = null; + + /// + /// Date purchase order was issued - YYYY-MM-DD. + /// + [JsonProperty("issued_date")] + public LocalDate? IssuedDate { get; set; } = null; + + /// + /// The date on which the purchase order is to be delivered - YYYY-MM-DD. + /// + [JsonProperty("delivery_date")] + public LocalDate? DeliveryDate { get; set; } = null; + + /// + /// The date on which the order is expected to arrive - YYYY-MM-DD. + /// + [JsonProperty("expected_arrival_date")] + public LocalDate? ExpectedArrivalDate { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// Sub-total amount, normally before tax. + /// + [JsonProperty("sub_total")] + public double? SubTotal { get; set; } = null; + + /// + /// Total tax amount applied to this invoice. + /// + [JsonProperty("total_tax")] + public double? TotalTax { get; set; } = null; + + /// + /// Total amount of invoice, including tax. + /// + [JsonProperty("total")] + public double? Total { get; set; } = null; + + /// + /// Amounts are including tax + /// + [JsonProperty("tax_inclusive")] + public bool? TaxInclusive { get; set; } = null; + + [JsonProperty("line_items")] + public List? LineItems { get; set; } + + [JsonProperty("shipping_address")] + public Address? ShippingAddress { get; set; } + + [JsonProperty("ledger_account")] + public LinkedLedgerAccount? LedgerAccount { get; set; } = null; + + /// + /// Optional purchase order template + /// + [JsonProperty("template_id")] + public string? TemplateId { get; set; } = null; + + /// + /// Discount percentage applied to this transaction. + /// + [JsonProperty("discount_percentage")] + public double? DiscountPercentage { get; set; } = null; + + [JsonProperty("bank_account")] + public BankAccount? BankAccount { get; set; } + + /// + /// Indicates if accounting by row is used (true) or not (false). Accounting by row means that a separate ledger transaction is created for each row. + /// + [JsonProperty("accounting_by_row")] + public bool? AccountingByRow { get; set; } = null; + + /// + /// The due date is the date on which a payment is scheduled to be received - YYYY-MM-DD. + /// + [JsonProperty("due_date")] + public LocalDate? DueDate { get; set; } + + /// + /// Payment method used for the transaction, such as cash, credit card, bank transfer, or check + /// + [JsonProperty("payment_method")] + public string? PaymentMethod { get; set; } = null; + + /// + /// Applicable tax id/code override if tax is not supplied on a line item basis. + /// + [JsonProperty("tax_code")] + public string? TaxCode { get; set; } = null; + + /// + /// The channel through which the transaction is processed. + /// + [JsonProperty("channel")] + public string? Channel { get; set; } = null; + + /// + /// Message for the supplier. This text appears on the Purchase Order. + /// + [JsonProperty("memo")] + public string? Memo { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PurchaseOrderInput.cs b/src/Apideck/Unify/SDK/Models/Components/PurchaseOrderInput.cs new file mode 100644 index 00000000..08e57853 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PurchaseOrderInput.cs @@ -0,0 +1,180 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + + public class PurchaseOrderInput + { + + /// + /// A PO Number uniquely identifies a purchase order and is generally defined by the buyer. + /// + [JsonProperty("po_number")] + public string? PoNumber { get; set; } = null; + + /// + /// Optional purchase order reference. + /// + [JsonProperty("reference")] + public string? Reference { get; set; } = null; + + /// + /// The supplier this entity is linked to. + /// + [JsonProperty("supplier")] + public LinkedSupplierInput? Supplier { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + [JsonProperty("status")] + public PurchaseOrderStatus? Status { get; set; } = null; + + /// + /// Date purchase order was issued - YYYY-MM-DD. + /// + [JsonProperty("issued_date")] + public LocalDate? IssuedDate { get; set; } = null; + + /// + /// The date on which the purchase order is to be delivered - YYYY-MM-DD. + /// + [JsonProperty("delivery_date")] + public LocalDate? DeliveryDate { get; set; } = null; + + /// + /// The date on which the order is expected to arrive - YYYY-MM-DD. + /// + [JsonProperty("expected_arrival_date")] + public LocalDate? ExpectedArrivalDate { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// Currency Exchange Rate at the time entity was recorded/generated. + /// + [JsonProperty("currency_rate")] + public double? CurrencyRate { get; set; } = null; + + /// + /// Sub-total amount, normally before tax. + /// + [JsonProperty("sub_total")] + public double? SubTotal { get; set; } = null; + + /// + /// Total tax amount applied to this invoice. + /// + [JsonProperty("total_tax")] + public double? TotalTax { get; set; } = null; + + /// + /// Total amount of invoice, including tax. + /// + [JsonProperty("total")] + public double? Total { get; set; } = null; + + /// + /// Amounts are including tax + /// + [JsonProperty("tax_inclusive")] + public bool? TaxInclusive { get; set; } = null; + + [JsonProperty("line_items")] + public List? LineItems { get; set; } + + [JsonProperty("shipping_address")] + public Address? ShippingAddress { get; set; } + + [JsonProperty("ledger_account")] + public LinkedLedgerAccountInput? LedgerAccount { get; set; } = null; + + /// + /// Optional purchase order template + /// + [JsonProperty("template_id")] + public string? TemplateId { get; set; } = null; + + /// + /// Discount percentage applied to this transaction. + /// + [JsonProperty("discount_percentage")] + public double? DiscountPercentage { get; set; } = null; + + [JsonProperty("bank_account")] + public BankAccount? BankAccount { get; set; } + + /// + /// Indicates if accounting by row is used (true) or not (false). Accounting by row means that a separate ledger transaction is created for each row. + /// + [JsonProperty("accounting_by_row")] + public bool? AccountingByRow { get; set; } = null; + + /// + /// The due date is the date on which a payment is scheduled to be received - YYYY-MM-DD. + /// + [JsonProperty("due_date")] + public LocalDate? DueDate { get; set; } + + /// + /// Payment method used for the transaction, such as cash, credit card, bank transfer, or check + /// + [JsonProperty("payment_method")] + public string? PaymentMethod { get; set; } = null; + + /// + /// Applicable tax id/code override if tax is not supplied on a line item basis. + /// + [JsonProperty("tax_code")] + public string? TaxCode { get; set; } = null; + + /// + /// The channel through which the transaction is processed. + /// + [JsonProperty("channel")] + public string? Channel { get; set; } = null; + + /// + /// Message for the supplier. This text appears on the Purchase Order. + /// + [JsonProperty("memo")] + public string? Memo { get; set; } = null; + + /// + /// A list of linked tracking categories. + /// + [JsonProperty("tracking_categories")] + public List? TrackingCategories { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PurchaseOrderStatus.cs b/src/Apideck/Unify/SDK/Models/Components/PurchaseOrderStatus.cs new file mode 100644 index 00000000..c5b3af98 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PurchaseOrderStatus.cs @@ -0,0 +1,65 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum PurchaseOrderStatus + { + [JsonProperty("draft")] + Draft, + [JsonProperty("open")] + Open, + [JsonProperty("closed")] + Closed, + [JsonProperty("deleted")] + Deleted, + [JsonProperty("billed")] + Billed, + [JsonProperty("other")] + Other, + } + + public static class PurchaseOrderStatusExtension + { + public static string Value(this PurchaseOrderStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static PurchaseOrderStatus ToEnum(this string value) + { + foreach(var field in typeof(PurchaseOrderStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is PurchaseOrderStatus) + { + return (PurchaseOrderStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum PurchaseOrderStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PurchaseOrdersFilter.cs b/src/Apideck/Unify/SDK/Models/Components/PurchaseOrdersFilter.cs new file mode 100644 index 00000000..48f3aae7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PurchaseOrdersFilter.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using System; + + public class PurchaseOrdersFilter + { + + [SpeakeasyMetadata("queryParam:name=updated_since")] + public DateTime? UpdatedSince { get; set; } + + [SpeakeasyMetadata("queryParam:name=supplier_id")] + public string? SupplierId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PurchaseOrdersSort.cs b/src/Apideck/Unify/SDK/Models/Components/PurchaseOrdersSort.cs new file mode 100644 index 00000000..190c1627 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PurchaseOrdersSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class PurchaseOrdersSort + { + + /// + /// The field on which to sort the Purchase Orders + /// + [SpeakeasyMetadata("queryParam:name=by")] + public PurchaseOrdersSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/PurchaseOrdersSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/PurchaseOrdersSortBy.cs new file mode 100644 index 00000000..2d63354a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/PurchaseOrdersSortBy.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Purchase Orders + /// + public enum PurchaseOrdersSortBy + { + [JsonProperty("updated_at")] + UpdatedAt, + [JsonProperty("created_at")] + CreatedAt, + } + + public static class PurchaseOrdersSortByExtension + { + public static string Value(this PurchaseOrdersSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static PurchaseOrdersSortBy ToEnum(this string value) + { + foreach(var field in typeof(PurchaseOrdersSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is PurchaseOrdersSortBy) + { + return (PurchaseOrdersSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum PurchaseOrdersSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Reports.cs b/src/Apideck/Unify/SDK/Models/Components/Reports.cs new file mode 100644 index 00000000..70aa39f1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Reports.cs @@ -0,0 +1,110 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public class Reports + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The name of the report + /// + [JsonProperty("report_name")] + public string? ReportName { get; set; } + + /// + /// The start date of the report + /// + [JsonProperty("start_date")] + public string? StartDate { get; set; } + + /// + /// The start date of the report + /// + [JsonProperty("end_date")] + public string EndDate { get; set; } = default!; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + /// + /// A balance sheet assets account represents the financial position of a company at a specific point in time. + /// + [JsonProperty("assets")] + public BalanceSheetAssetsAccount Assets { get; set; } = default!; + + /// + /// A balance sheet liabilities account represents the financial position of a company at a specific point in time. + /// + [JsonProperty("liabilities")] + public BalanceSheetLiabilitiesAccount Liabilities { get; set; } = default!; + + /// + /// A balance sheet equity account represents the financial position of a company at a specific point in time. + /// + [JsonProperty("equity")] + public BalanceSheetEquityAccount Equity { get; set; } = default!; + + /// + /// The net assets of the balance sheet + /// + [JsonProperty("net_assets")] + public double? NetAssets { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// A balance sheet uncategorized items account represents the financial position of a company at a specific point in time. + /// + [JsonProperty("uncategorized_items")] + public BalanceSheetUncategorizedItemsAccount? UncategorizedItems { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/RequestCountAllocation.cs b/src/Apideck/Unify/SDK/Models/Components/RequestCountAllocation.cs new file mode 100644 index 00000000..f3d1c32b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/RequestCountAllocation.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class RequestCountAllocation + { + + [JsonProperty("unify")] + public double? Unify { get; set; } + + [JsonProperty("proxy")] + public double? Proxy { get; set; } + + [JsonProperty("vault")] + public double? Vault { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/RequestRate.cs b/src/Apideck/Unify/SDK/Models/Components/RequestRate.cs new file mode 100644 index 00000000..7ea6b019 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/RequestRate.cs @@ -0,0 +1,40 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// The rate at which requests for resources will be made to downstream. + /// + public class RequestRate + { + + /// + /// The number of requests per window unit. + /// + [JsonProperty("rate")] + public long Rate { get; set; } = default!; + + /// + /// Size of request window. + /// + [JsonProperty("size")] + public long Size { get; set; } = default!; + + /// + /// The window unit for the rate. + /// + [JsonProperty("unit")] + public Unit Unit { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/RequestType.cs b/src/Apideck/Unify/SDK/Models/Components/RequestType.cs new file mode 100644 index 00000000..79909093 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/RequestType.cs @@ -0,0 +1,70 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of request + /// + public enum RequestType + { + [JsonProperty("vacation")] + Vacation, + [JsonProperty("sick")] + Sick, + [JsonProperty("personal")] + Personal, + [JsonProperty("jury_duty")] + JuryDuty, + [JsonProperty("volunteer")] + Volunteer, + [JsonProperty("bereavement")] + Bereavement, + [JsonProperty("other")] + Other, + } + + public static class RequestTypeExtension + { + public static string Value(this RequestType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static RequestType ToEnum(this string value) + { + foreach(var field in typeof(RequestType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is RequestType) + { + return (RequestType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum RequestType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ResourceStatus.cs b/src/Apideck/Unify/SDK/Models/Components/ResourceStatus.cs new file mode 100644 index 00000000..6aafd975 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ResourceStatus.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Status of the resource. Resources with status live or beta are callable. + /// + public enum ResourceStatus + { + [JsonProperty("live")] + Live, + [JsonProperty("beta")] + Beta, + [JsonProperty("development")] + Development, + [JsonProperty("upcoming")] + Upcoming, + [JsonProperty("considering")] + Considering, + } + + public static class ResourceStatusExtension + { + public static string Value(this ResourceStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ResourceStatus ToEnum(this string value) + { + foreach(var field in typeof(ResourceStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ResourceStatus) + { + return (ResourceStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ResourceStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Resources.cs b/src/Apideck/Unify/SDK/Models/Components/Resources.cs new file mode 100644 index 00000000..93f521ce --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Resources.cs @@ -0,0 +1,43 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Resources + { + + /// + /// ID of the resource, typically a lowercased version of its name. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Name of the resource (plural) + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// Status of the resource. Resources with status live or beta are callable. + /// + [JsonProperty("status")] + public ResourceStatus? Status { get; set; } + + /// + /// Exclude from mapping coverage + /// + [JsonProperty("excluded_from_coverage")] + public bool? ExcludedFromCoverage { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Salary.cs b/src/Apideck/Unify/SDK/Models/Components/Salary.cs new file mode 100644 index 00000000..b288f9ad --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Salary.cs @@ -0,0 +1,40 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Salary + { + + /// + /// Minimum salary payable for the job role. + /// + [JsonProperty("min")] + public long? Min { get; set; } + + /// + /// Maximum salary payable for the job role. + /// + [JsonProperty("max")] + public long? Max { get; set; } + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + [JsonProperty("interval")] + public string? Interval { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SalesDetails.cs b/src/Apideck/Unify/SDK/Models/Components/SalesDetails.cs new file mode 100644 index 00000000..ab22c1ca --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SalesDetails.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class SalesDetails + { + + [JsonProperty("unit_price")] + public double? UnitPrice { get; set; } = null; + + /// + /// Description of the unit type the item is sold as, ie: kg, hour. + /// + [JsonProperty("unit_of_measure")] + public string? UnitOfMeasure { get; set; } = null; + + /// + /// Amounts are including tax + /// + [JsonProperty("tax_inclusive")] + public bool? TaxInclusive { get; set; } = null; + + [JsonProperty("tax_rate")] + public LinkedTaxRate? TaxRate { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Schedule.cs b/src/Apideck/Unify/SDK/Models/Components/Schedule.cs new file mode 100644 index 00000000..0a79caf3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Schedule.cs @@ -0,0 +1,40 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Schedule + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The start date, inclusive, of the schedule period. + /// + [JsonProperty("start_date")] + public string StartDate { get; set; } = default!; + + /// + /// The end date, inclusive, of the schedule period. + /// + [JsonProperty("end_date")] + public string EndDate { get; set; } = default!; + + [JsonProperty("work_pattern")] + public WorkPattern WorkPattern { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Schema.cs b/src/Apideck/Unify/SDK/Models/Components/Schema.cs new file mode 100644 index 00000000..a53b2ac1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Schema.cs @@ -0,0 +1,20 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + /// + /// JSON Schema of the resource in our Unified API + /// + public class Schema + { + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SchemaSupport.cs b/src/Apideck/Unify/SDK/Models/Components/SchemaSupport.cs new file mode 100644 index 00000000..fc4c1523 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SchemaSupport.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// When a connector has schema_support, a call can be made to retrieve a json schema that describes a downstream resource. + /// + public class SchemaSupport + { + + /// + /// Can a resource schema be retrieved for this connector? + /// + [JsonProperty("supported")] + public bool? Supported { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Scope.cs b/src/Apideck/Unify/SDK/Models/Components/Scope.cs new file mode 100644 index 00000000..9638087f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Scope.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The scope of the shared link. + /// + public enum Scope + { + [JsonProperty("public")] + Public, + [JsonProperty("company")] + Company, + } + + public static class ScopeExtension + { + public static string Value(this Scope value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static Scope ToEnum(this string value) + { + foreach(var field in typeof(Scope).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is Scope) + { + return (Scope)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum Scope"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Security.cs b/src/Apideck/Unify/SDK/Models/Components/Security.cs new file mode 100644 index 00000000..910c3b21 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Security.cs @@ -0,0 +1,20 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class Security + { + + [SpeakeasyMetadata("security:scheme=true,type=apiKey,subType=header,name=Authorization")] + public string ApiKey { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Service.cs b/src/Apideck/Unify/SDK/Models/Components/Service.cs new file mode 100644 index 00000000..925dc892 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Service.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Apideck service provider associated with request. + /// + public class Service + { + + /// + /// Apideck service provider id. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// Apideck service provider name. + /// + [JsonProperty("name")] + public string Name { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Session.cs b/src/Apideck/Unify/SDK/Models/Components/Session.cs new file mode 100644 index 00000000..b85683ce --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Session.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class Session + { + + /// + /// The metadata of the consumer. This is used to display the consumer in the sidebar. This is optional, but recommended. + /// + [JsonProperty("consumer_metadata")] + public ConsumerMetadata? ConsumerMetadata { get; set; } + + /// + /// The URL to redirect the user to after the session has been configured. + /// + [JsonProperty("redirect_uri")] + public string? RedirectUri { get; set; } + + /// + /// Settings to change the way the Vault is displayed. + /// + [JsonProperty("settings")] + public SessionSettings? Settings { get; set; } + + /// + /// Theming options to change the look and feel of Vault. + /// + [JsonProperty("theme")] + public Theme? Theme { get; set; } + + /// + /// Custom consumer settings that are passed as part of the session. + /// + [JsonProperty("custom_consumer_settings")] + public Dictionary? CustomConsumerSettings { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SessionSettings.cs b/src/Apideck/Unify/SDK/Models/Components/SessionSettings.cs new file mode 100644 index 00000000..66739360 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SessionSettings.cs @@ -0,0 +1,94 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Settings to change the way the Vault is displayed. + /// + public class SessionSettings + { + + /// + /// Provide the IDs of the Unified APIs you want to be visible. Leaving it empty or omitting this field will show all Unified APIs. + /// + [JsonProperty("unified_apis")] + public List? UnifiedApis { get; set; } + + /// + /// A boolean that controls the display of the configurable resources for an integration. When set to true, the resource configuration options will be hidden and not shown to the user. When set to false, the resource configuration options will be displayed to the user. + /// + [JsonProperty("hide_resource_settings")] + public bool? HideResourceSettings { get; set; } = false; + + /// + /// Configure Vault to show a banner informing the logged in user is in a test environment. + /// + [JsonProperty("sandbox_mode")] + public bool? SandboxMode { get; set; } = false; + + /// + /// Configure Vault to run in isolation mode, meaning it only shows the connection settings and hides the navigation items. + /// + [JsonProperty("isolation_mode")] + public bool? IsolationMode { get; set; } = false; + + /// + /// The duration of time the session is valid for (maximum 1 week). + /// + [JsonProperty("session_length")] + public string? SessionLength { get; set; } = "1h"; + + /// + /// Configure Vault to show the logs page. Defaults to `true`. + /// + [JsonProperty("show_logs")] + public bool? ShowLogs { get; set; } = true; + + /// + /// Configure Vault to show the suggestions page. Defaults to `false`. + /// + [JsonProperty("show_suggestions")] + public bool? ShowSuggestions { get; set; } = false; + + /// + /// Configure Vault to show the sidebar. Defaults to `true`. + /// + [JsonProperty("show_sidebar")] + public bool? ShowSidebar { get; set; } = true; + + /// + /// Automatically redirect to redirect uri after the connection has been configured as callable. Defaults to `false`. + /// + [JsonProperty("auto_redirect")] + public bool? AutoRedirect { get; set; } = false; + + /// + /// Hide Apideck connection guides in Vault. Defaults to `false`. + /// + [JsonProperty("hide_guides")] + public bool? HideGuides { get; set; } = false; + + /// + /// Hide actions from your users in Vault. Actions in `allow_actions` will be shown on a connection in Vault.
+ /// + /// + /// Available actions are: `delete`, `disconnect`, `reauthorize` and `disable`.
+ /// Empty array will hide all actions. By default all actions are visible. + ///
+ ///
+ [JsonProperty("allow_actions")] + public List? AllowActions { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Settings.cs b/src/Apideck/Unify/SDK/Models/Components/Settings.cs new file mode 100644 index 00000000..f572c993 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Settings.cs @@ -0,0 +1,20 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + /// + /// Connection settings. Values will persist to `form_fields` with corresponding id + /// + public class Settings + { + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SharedLink.cs b/src/Apideck/Unify/SDK/Models/Components/SharedLink.cs new file mode 100644 index 00000000..e35cc804 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SharedLink.cs @@ -0,0 +1,69 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class SharedLink + { + + /// + /// The URL that can be used to view the file. + /// + [JsonProperty("url")] + public string? Url { get; set; } = null; + + /// + /// The URL that can be used to download the file. + /// + [JsonProperty("download_url")] + public string? DownloadUrl { get; set; } = null; + + [JsonProperty("target")] + public SharedLinkTarget? Target { get; set; } + + /// + /// The scope of the shared link. + /// + [JsonProperty("scope")] + public Scope? Scope { get; set; } = null; + + /// + /// Indicated if the shared link is password protected. + /// + [JsonProperty("password_protected")] + public bool? PasswordProtected { get; set; } = null; + + [JsonProperty("expires_at")] + public DateTime? ExpiresAt { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SharedLinkInput.cs b/src/Apideck/Unify/SDK/Models/Components/SharedLinkInput.cs new file mode 100644 index 00000000..7be7f4e4 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SharedLinkInput.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class SharedLinkInput + { + + /// + /// The URL that can be used to download the file. + /// + [JsonProperty("download_url")] + public string? DownloadUrl { get; set; } = null; + + /// + /// The ID of the file or folder to link. + /// + [JsonProperty("target_id", NullValueHandling = NullValueHandling.Include)] + public string? TargetId { get; set; } + + /// + /// The scope of the shared link. + /// + [JsonProperty("scope")] + public Scope? Scope { get; set; } = null; + + /// + /// Optional password for the shared link. + /// + [JsonProperty("password")] + public string? Password { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SharedLinkTarget.cs b/src/Apideck/Unify/SDK/Models/Components/SharedLinkTarget.cs new file mode 100644 index 00000000..b8bbc886 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SharedLinkTarget.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class SharedLinkTarget + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The name of the file + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// The type of resource. Could be file, folder or url + /// + [JsonProperty("type")] + public FileType? Type { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ShowAs.cs b/src/Apideck/Unify/SDK/Models/Components/ShowAs.cs new file mode 100644 index 00000000..3ef3cdf9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ShowAs.cs @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum ShowAs + { + [JsonProperty("free")] + Free, + [JsonProperty("busy")] + Busy, + } + + public static class ShowAsExtension + { + public static string Value(this ShowAs value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static ShowAs ToEnum(this string value) + { + foreach(var field in typeof(ShowAs).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is ShowAs) + { + return (ShowAs)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum ShowAs"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SimpleFormFieldOption.cs b/src/Apideck/Unify/SDK/Models/Components/SimpleFormFieldOption.cs new file mode 100644 index 00000000..d3a68cbc --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SimpleFormFieldOption.cs @@ -0,0 +1,25 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class SimpleFormFieldOption + { + + [JsonProperty("label")] + public string? Label { get; set; } + + [JsonProperty("value")] + public SimpleFormFieldOptionValue? Value { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SimpleFormFieldOptionValue.cs b/src/Apideck/Unify/SDK/Models/Components/SimpleFormFieldOptionValue.cs new file mode 100644 index 00000000..039f2eae --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SimpleFormFieldOptionValue.cs @@ -0,0 +1,286 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json.Linq; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Numerics; + using System.Reflection; + using System; + + + public class SimpleFormFieldOptionValueType + { + private SimpleFormFieldOptionValueType(string value) { Value = value; } + + public string Value { get; private set; } + public static SimpleFormFieldOptionValueType Str { get { return new SimpleFormFieldOptionValueType("str"); } } + + public static SimpleFormFieldOptionValueType Integer { get { return new SimpleFormFieldOptionValueType("integer"); } } + + public static SimpleFormFieldOptionValueType Number { get { return new SimpleFormFieldOptionValueType("number"); } } + + public static SimpleFormFieldOptionValueType Boolean { get { return new SimpleFormFieldOptionValueType("boolean"); } } + + public static SimpleFormFieldOptionValueType ArrayOf5 { get { return new SimpleFormFieldOptionValueType("arrayOf5"); } } + + public static SimpleFormFieldOptionValueType Null { get { return new SimpleFormFieldOptionValueType("null"); } } + + public override string ToString() { return Value; } + public static implicit operator String(SimpleFormFieldOptionValueType v) { return v.Value; } + public static SimpleFormFieldOptionValueType FromString(string v) { + switch(v) { + case "str": return Str; + case "integer": return Integer; + case "number": return Number; + case "boolean": return Boolean; + case "arrayOf5": return ArrayOf5; + case "null": return Null; + default: throw new ArgumentException("Invalid value for SimpleFormFieldOptionValueType"); + } + } + public override bool Equals(object? obj) + { + if (obj == null || GetType() != obj.GetType()) + { + return false; + } + return Value.Equals(((SimpleFormFieldOptionValueType)obj).Value); + } + + public override int GetHashCode() + { + return Value.GetHashCode(); + } + } + + + [JsonConverter(typeof(SimpleFormFieldOptionValue.SimpleFormFieldOptionValueConverter))] + public class SimpleFormFieldOptionValue { + public SimpleFormFieldOptionValue(SimpleFormFieldOptionValueType type) { + Type = type; + } + + [SpeakeasyMetadata("form:explode=true")] + public string? Str { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public long? Integer { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public double? Number { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public bool? Boolean { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public List? ArrayOf5 { get; set; } + + public SimpleFormFieldOptionValueType Type { get; set; } + + + public static SimpleFormFieldOptionValue CreateStr(string str) { + SimpleFormFieldOptionValueType typ = SimpleFormFieldOptionValueType.Str; + + SimpleFormFieldOptionValue res = new SimpleFormFieldOptionValue(typ); + res.Str = str; + return res; + } + + public static SimpleFormFieldOptionValue CreateInteger(long integer) { + SimpleFormFieldOptionValueType typ = SimpleFormFieldOptionValueType.Integer; + + SimpleFormFieldOptionValue res = new SimpleFormFieldOptionValue(typ); + res.Integer = integer; + return res; + } + + public static SimpleFormFieldOptionValue CreateNumber(double number) { + SimpleFormFieldOptionValueType typ = SimpleFormFieldOptionValueType.Number; + + SimpleFormFieldOptionValue res = new SimpleFormFieldOptionValue(typ); + res.Number = number; + return res; + } + + public static SimpleFormFieldOptionValue CreateBoolean(bool boolean) { + SimpleFormFieldOptionValueType typ = SimpleFormFieldOptionValueType.Boolean; + + SimpleFormFieldOptionValue res = new SimpleFormFieldOptionValue(typ); + res.Boolean = boolean; + return res; + } + + public static SimpleFormFieldOptionValue CreateArrayOf5(List arrayOf5) { + SimpleFormFieldOptionValueType typ = SimpleFormFieldOptionValueType.ArrayOf5; + + SimpleFormFieldOptionValue res = new SimpleFormFieldOptionValue(typ); + res.ArrayOf5 = arrayOf5; + return res; + } + + public static SimpleFormFieldOptionValue CreateNull() { + SimpleFormFieldOptionValueType typ = SimpleFormFieldOptionValueType.Null; + return new SimpleFormFieldOptionValue(typ); + } + + public class SimpleFormFieldOptionValueConverter : JsonConverter + { + + public override bool CanConvert(System.Type objectType) => objectType == typeof(SimpleFormFieldOptionValue); + + public override bool CanRead => true; + + public override object? ReadJson(JsonReader reader, System.Type objectType, object? existingValue, JsonSerializer serializer) + { + var json = JRaw.Create(reader).ToString(); + if (json == "null") + { + return null; + } + + var fallbackCandidates = new List<(System.Type, object, string)>(); + + if (json[0] == '"' && json[^1] == '"'){ + return new SimpleFormFieldOptionValue(SimpleFormFieldOptionValueType.Str) + { + Str = json[1..^1] + }; + } + + try + { + var converted = Convert.ToInt64(json); + return new SimpleFormFieldOptionValue(SimpleFormFieldOptionValueType.Integer) + { + Integer = converted + }; + } + catch (System.FormatException) + { + // try next option + } + + try + { + var converted = Convert.ToDouble(json); + return new SimpleFormFieldOptionValue(SimpleFormFieldOptionValueType.Number) + { + Number = converted + }; + } + catch (System.FormatException) + { + // try next option + } + + try + { + var converted = Convert.ToBoolean(json); + return new SimpleFormFieldOptionValue(SimpleFormFieldOptionValueType.Boolean) + { + Boolean = converted + }; + } + catch (System.FormatException) + { + // try next option + } + + try + { + return new SimpleFormFieldOptionValue(SimpleFormFieldOptionValueType.ArrayOf5) + { + ArrayOf5 = ResponseBodyDeserializer.DeserializeUndiscriminatedUnionMember>(json) + }; + } + catch (ResponseBodyDeserializer.MissingMemberException) + { + fallbackCandidates.Add((typeof(List), new SimpleFormFieldOptionValue(SimpleFormFieldOptionValueType.ArrayOf5), "ArrayOf5")); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next option + } + catch (Exception) + { + throw; + } + + if (fallbackCandidates.Count > 0) + { + fallbackCandidates.Sort((a, b) => ResponseBodyDeserializer.CompareFallbackCandidates(a.Item1, b.Item1, json)); + foreach(var (deserializationType, returnObject, propertyName) in fallbackCandidates) + { + try + { + return ResponseBodyDeserializer.DeserializeUndiscriminatedUnionFallback(deserializationType, returnObject, propertyName, json); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next fallback option + } + catch (Exception) + { + throw; + } + } + } + + throw new InvalidOperationException("Could not deserialize into any supported types."); + } + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + if (value == null) { + writer.WriteRawValue("null"); + return; + } + SimpleFormFieldOptionValue res = (SimpleFormFieldOptionValue)value; + if (SimpleFormFieldOptionValueType.FromString(res.Type).Equals(SimpleFormFieldOptionValueType.Null)) + { + writer.WriteRawValue("null"); + return; + } + if (res.Str != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Str)); + return; + } + if (res.Integer != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Integer)); + return; + } + if (res.Number != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Number)); + return; + } + if (res.Boolean != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Boolean)); + return; + } + if (res.ArrayOf5 != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.ArrayOf5)); + return; + } + + } + + } + + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Six.cs b/src/Apideck/Unify/SDK/Models/Components/Six.cs new file mode 100644 index 00000000..aedfbcc3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Six.cs @@ -0,0 +1,17 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class Six + { + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SocialLink.cs b/src/Apideck/Unify/SDK/Models/Components/SocialLink.cs new file mode 100644 index 00000000..a749c02e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SocialLink.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class SocialLink + { + + /// + /// Unique identifier of the social link + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// URL of the social link, e.g. https://www.twitter.com/apideck + /// + [JsonProperty("url")] + public string Url { get; set; } = default!; + + /// + /// Type of the social link, e.g. twitter + /// + [JsonProperty("type")] + public string? Type { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SocialLinks.cs b/src/Apideck/Unify/SDK/Models/Components/SocialLinks.cs new file mode 100644 index 00000000..107b5314 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SocialLinks.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class SocialLinks + { + + /// + /// Unique identifier of the social link + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// URL of the social link, e.g. https://www.twitter.com/apideck + /// + [JsonProperty("url")] + public string Url { get; set; } = default!; + + /// + /// Type of the social link, e.g. twitter + /// + [JsonProperty("type")] + public string? Type { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SortDirection.cs b/src/Apideck/Unify/SDK/Models/Components/SortDirection.cs new file mode 100644 index 00000000..86dac6d7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SortDirection.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The direction in which to sort the results + /// + public enum SortDirection + { + [JsonProperty("asc")] + Asc, + [JsonProperty("desc")] + Desc, + } + + public static class SortDirectionExtension + { + public static string Value(this SortDirection value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static SortDirection ToEnum(this string value) + { + foreach(var field in typeof(SortDirection).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is SortDirection) + { + return (SortDirection)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum SortDirection"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Stage.cs b/src/Apideck/Unify/SDK/Models/Components/Stage.cs new file mode 100644 index 00000000..7567f0fa --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Stage.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Stage + { + + /// + /// Stage the candidate should be in. If omitted, the default stage for this job will be used. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + [JsonProperty("name")] + public string? Name { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Stages.cs b/src/Apideck/Unify/SDK/Models/Components/Stages.cs new file mode 100644 index 00000000..784e822b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Stages.cs @@ -0,0 +1,48 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Stages + { + + /// + /// The unique identifier of the Pipeline Stage. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The name of the Pipeline Stage. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// The value of the Pipeline Stage. + /// + [JsonProperty("value")] + public string? Value { get; set; } = null; + + /// + /// The expected probability of winning an Opportunity in this Pipeline Stage. Valid values are [0-100]. + /// + [JsonProperty("win_probability")] + public long? WinProbability { get; set; } = null; + + /// + /// The order in which the Pipeline Stage is displayed in the UI. + /// + [JsonProperty("display_order")] + public long? DisplayOrder { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Status.cs b/src/Apideck/Unify/SDK/Models/Components/Status.cs new file mode 100644 index 00000000..5dea7574 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Status.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The status of the webhook. + /// + public enum Status + { + [JsonProperty("enabled")] + Enabled, + [JsonProperty("disabled")] + Disabled, + } + + public static class StatusExtension + { + public static string Value(this Status value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static Status ToEnum(this string value) + { + foreach(var field in typeof(Status).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is Status) + { + return (Status)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum Status"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SubAccounts.cs b/src/Apideck/Unify/SDK/Models/Components/SubAccounts.cs new file mode 100644 index 00000000..442679aa --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SubAccounts.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class SubAccounts + { + + /// + /// The ID of the sub account. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The name of the sub account. + /// + [JsonProperty("account_sub_name")] + public string? AccountSubName { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SubscriptionLevel.cs b/src/Apideck/Unify/SDK/Models/Components/SubscriptionLevel.cs new file mode 100644 index 00000000..b97fb2e2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SubscriptionLevel.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Received events are scoped to connection or across integration. + /// + public enum SubscriptionLevel + { + [JsonProperty("connection")] + Connection, + [JsonProperty("integration")] + Integration, + } + + public static class SubscriptionLevelExtension + { + public static string Value(this SubscriptionLevel value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static SubscriptionLevel ToEnum(this string value) + { + foreach(var field in typeof(SubscriptionLevel).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is SubscriptionLevel) + { + return (SubscriptionLevel)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum SubscriptionLevel"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Subsidiaries.cs b/src/Apideck/Unify/SDK/Models/Components/Subsidiaries.cs new file mode 100644 index 00000000..9f5477c2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Subsidiaries.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Subsidiaries + { + + /// + /// The ID of the subsidiary. + /// + [JsonProperty("id")] + public string? Id { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Subsidiary.cs b/src/Apideck/Unify/SDK/Models/Components/Subsidiary.cs new file mode 100644 index 00000000..f39a6054 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Subsidiary.cs @@ -0,0 +1,87 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class Subsidiary + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// A unique identifier for an object. + /// + [JsonProperty("parent_id")] + public string? ParentId { get; set; } = null; + + /// + /// The name of the company. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// Based on the status some functionality is enabled or disabled. + /// + [JsonProperty("status")] + public SubsidiaryStatus? Status { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SubsidiaryInput.cs b/src/Apideck/Unify/SDK/Models/Components/SubsidiaryInput.cs new file mode 100644 index 00000000..1af5a521 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SubsidiaryInput.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class SubsidiaryInput + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("parent_id")] + public string? ParentId { get; set; } = null; + + /// + /// The name of the company. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// Based on the status some functionality is enabled or disabled. + /// + [JsonProperty("status")] + public SubsidiaryStatus? Status { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SubsidiaryReference.cs b/src/Apideck/Unify/SDK/Models/Components/SubsidiaryReference.cs new file mode 100644 index 00000000..26850382 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SubsidiaryReference.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class SubsidiaryReference + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The name of the company. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SubsidiaryReferenceInput.cs b/src/Apideck/Unify/SDK/Models/Components/SubsidiaryReferenceInput.cs new file mode 100644 index 00000000..184b01dd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SubsidiaryReferenceInput.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class SubsidiaryReferenceInput + { + + /// + /// The name of the company. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SubsidiaryStatus.cs b/src/Apideck/Unify/SDK/Models/Components/SubsidiaryStatus.cs new file mode 100644 index 00000000..0c246ea5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SubsidiaryStatus.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Based on the status some functionality is enabled or disabled. + /// + public enum SubsidiaryStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("inactive")] + Inactive, + } + + public static class SubsidiaryStatusExtension + { + public static string Value(this SubsidiaryStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static SubsidiaryStatus ToEnum(this string value) + { + foreach(var field in typeof(SubsidiaryStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is SubsidiaryStatus) + { + return (SubsidiaryStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum SubsidiaryStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Supplier.cs b/src/Apideck/Unify/SDK/Models/Components/Supplier.cs new file mode 100644 index 00000000..96a33c15 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Supplier.cs @@ -0,0 +1,186 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class Supplier + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The third-party API ID of original entity + /// + [JsonProperty("downstream_id")] + public string? DownstreamId { get; set; } = null; + + /// + /// Display ID + /// + [JsonProperty("display_id")] + public string? DisplayId { get; set; } = null; + + /// + /// Display name + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + /// + /// The name of the company. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The job title of the person. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// The first name of the person. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// Middle name of the person. + /// + [JsonProperty("middle_name")] + public string? MiddleName { get; set; } = null; + + /// + /// The last name of the person. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + [JsonProperty("suffix")] + public string? Suffix { get; set; } = null; + + /// + /// Is this an individual or business supplier + /// + [JsonProperty("individual")] + public bool? Individual { get; set; } = null; + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("websites")] + public List? Websites { get; set; } + + [JsonProperty("bank_accounts")] + public List? BankAccounts { get; set; } + + /// + /// Some notes about this supplier + /// + [JsonProperty("notes")] + public string? Notes { get; set; } = null; + + [JsonProperty("tax_rate")] + public LinkedTaxRate? TaxRate { get; set; } + + [JsonProperty("tax_number")] + public string? TaxNumber { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + [JsonProperty("account")] + public LinkedLedgerAccount? Account { get; set; } = null; + + /// + /// Supplier status + /// + [JsonProperty("status")] + public SupplierStatus? Status { get; set; } = null; + + /// + /// Payment method used for the transaction, such as cash, credit card, bank transfer, or check + /// + [JsonProperty("payment_method")] + public string? PaymentMethod { get; set; } = null; + + /// + /// The channel through which the transaction is processed. + /// + [JsonProperty("channel")] + public string? Channel { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SupplierInput.cs b/src/Apideck/Unify/SDK/Models/Components/SupplierInput.cs new file mode 100644 index 00000000..3246e37d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SupplierInput.cs @@ -0,0 +1,143 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class SupplierInput + { + + /// + /// Display ID + /// + [JsonProperty("display_id")] + public string? DisplayId { get; set; } = null; + + /// + /// Display name + /// + [JsonProperty("display_name")] + public string? DisplayName { get; set; } = null; + + /// + /// The name of the company. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// The company or subsidiary id the transaction belongs to + /// + [JsonProperty("company_id")] + public string? CompanyId { get; set; } = null; + + /// + /// The job title of the person. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// The first name of the person. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// Middle name of the person. + /// + [JsonProperty("middle_name")] + public string? MiddleName { get; set; } = null; + + /// + /// The last name of the person. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + [JsonProperty("suffix")] + public string? Suffix { get; set; } = null; + + /// + /// Is this an individual or business supplier + /// + [JsonProperty("individual")] + public bool? Individual { get; set; } = null; + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List? Emails { get; set; } + + [JsonProperty("websites")] + public List? Websites { get; set; } + + [JsonProperty("bank_accounts")] + public List? BankAccounts { get; set; } + + /// + /// Some notes about this supplier + /// + [JsonProperty("notes")] + public string? Notes { get; set; } = null; + + [JsonProperty("tax_rate")] + public LinkedTaxRateInput? TaxRate { get; set; } + + [JsonProperty("tax_number")] + public string? TaxNumber { get; set; } = null; + + /// + /// Indicates the associated currency for an amount of money. Values correspond to ISO 4217. + /// + [JsonProperty("currency")] + public Currency? Currency { get; set; } = null; + + [JsonProperty("account")] + public LinkedLedgerAccountInput? Account { get; set; } = null; + + /// + /// Supplier status + /// + [JsonProperty("status")] + public SupplierStatus? Status { get; set; } = null; + + /// + /// Payment method used for the transaction, such as cash, credit card, bank transfer, or check + /// + [JsonProperty("payment_method")] + public string? PaymentMethod { get; set; } = null; + + /// + /// The channel through which the transaction is processed. + /// + [JsonProperty("channel")] + public string? Channel { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SupplierStatus.cs b/src/Apideck/Unify/SDK/Models/Components/SupplierStatus.cs new file mode 100644 index 00000000..a48956b9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SupplierStatus.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Supplier status + /// + public enum SupplierStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("inactive")] + Inactive, + [JsonProperty("archived")] + Archived, + [JsonProperty("gdpr-erasure-request")] + GdprErasureRequest, + [JsonProperty("unknown")] + Unknown, + } + + public static class SupplierStatusExtension + { + public static string Value(this SupplierStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static SupplierStatus ToEnum(this string value) + { + foreach(var field in typeof(SupplierStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is SupplierStatus) + { + return (SupplierStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum SupplierStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SuppliersFilter.cs b/src/Apideck/Unify/SDK/Models/Components/SuppliersFilter.cs new file mode 100644 index 00000000..e450f01d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SuppliersFilter.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using System; + + public class SuppliersFilter + { + + /// + /// Company Name of supplier to search for + /// + [SpeakeasyMetadata("queryParam:name=company_name")] + public string? CompanyName { get; set; } + + /// + /// Display Name of supplier to search for + /// + [SpeakeasyMetadata("queryParam:name=display_name")] + public string? DisplayName { get; set; } + + /// + /// First name of supplier to search for + /// + [SpeakeasyMetadata("queryParam:name=first_name")] + public string? FirstName { get; set; } + + /// + /// Last name of supplier to search for + /// + [SpeakeasyMetadata("queryParam:name=last_name")] + public string? LastName { get; set; } + + /// + /// Email of supplier to search for + /// + [SpeakeasyMetadata("queryParam:name=email")] + public string? Email { get; set; } + + [SpeakeasyMetadata("queryParam:name=updated_since")] + public DateTime? UpdatedSince { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SuppliersSort.cs b/src/Apideck/Unify/SDK/Models/Components/SuppliersSort.cs new file mode 100644 index 00000000..9c82776b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SuppliersSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class SuppliersSort + { + + /// + /// The field on which to sort the Suppliers + /// + [SpeakeasyMetadata("queryParam:name=by")] + public SuppliersSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SuppliersSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/SuppliersSortBy.cs new file mode 100644 index 00000000..af41bbf7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SuppliersSortBy.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Suppliers + /// + public enum SuppliersSortBy + { + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + } + + public static class SuppliersSortByExtension + { + public static string Value(this SuppliersSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static SuppliersSortBy ToEnum(this string value) + { + foreach(var field in typeof(SuppliersSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is SuppliersSortBy) + { + return (SuppliersSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum SuppliersSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/SupportedProperty.cs b/src/Apideck/Unify/SDK/Models/Components/SupportedProperty.cs new file mode 100644 index 00000000..ae3810b8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/SupportedProperty.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class SupportedProperty + { + + /// + /// Name of the property in our Unified API. + /// + [JsonProperty("unified_property")] + public string? UnifiedProperty { get; set; } + + /// + /// List of child properties of the unified property. + /// + [JsonProperty("child_properties")] + public List? ChildProperties { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Target.cs b/src/Apideck/Unify/SDK/Models/Components/Target.cs new file mode 100644 index 00000000..c614acce --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Target.cs @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum Target + { + [JsonProperty("custom_fields")] + CustomFields, + [JsonProperty("resource")] + Resource, + } + + public static class TargetExtension + { + public static string Value(this Target value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static Target ToEnum(this string value) + { + foreach(var field in typeof(Target).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is Target) + { + return (Target)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum Target"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Tax.cs b/src/Apideck/Unify/SDK/Models/Components/Tax.cs new file mode 100644 index 00000000..2b7ccb0b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Tax.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Tax + { + + /// + /// The name of the tax. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// Paid by employer. + /// + [JsonProperty("employer")] + public bool? Employer { get; set; } = null; + + /// + /// The amount of the tax. + /// + [JsonProperty("amount")] + public double? Amount { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TaxRate.cs b/src/Apideck/Unify/SDK/Models/Components/TaxRate.cs new file mode 100644 index 00000000..632ededb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TaxRate.cs @@ -0,0 +1,138 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class TaxRate + { + + /// + /// ID assigned to identify this tax rate. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// Name assigned to identify this tax rate. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// Tax code assigned to identify this tax rate. + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + + /// + /// Description of tax rate + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// Effective tax rate + /// + [JsonProperty("effective_tax_rate")] + public double? EffectiveTaxRate { get; set; } = null; + + /// + /// Not compounded sum of the components of a tax rate + /// + [JsonProperty("total_tax_rate")] + public double? TotalTaxRate { get; set; } = null; + + /// + /// Unique identifier for the account for tax collected. + /// + [JsonProperty("tax_payable_account_id")] + public string? TaxPayableAccountId { get; set; } = null; + + /// + /// Unique identifier for the account for tax remitted. + /// + [JsonProperty("tax_remitted_account_id")] + public string? TaxRemittedAccountId { get; set; } = null; + + [JsonProperty("components")] + public List? Components { get; set; } = null; + + /// + /// Tax type used to indicate the source of tax collected or paid + /// + [JsonProperty("type")] + public string? Type { get; set; } = null; + + /// + /// Report Tax type to aggregate tax collected or paid for reporting purposes + /// + [JsonProperty("report_tax_type")] + public string? ReportTaxType { get; set; } = null; + + /// + /// ID of the original tax rate from which the new tax rate is derived. Helps to understand the relationship between corresponding tax rate entities. + /// + [JsonProperty("original_tax_rate_id")] + public string? OriginalTaxRateId { get; set; } = null; + + /// + /// Tax rate status + /// + [JsonProperty("status")] + public TaxRateStatus? Status { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TaxRateInput.cs b/src/Apideck/Unify/SDK/Models/Components/TaxRateInput.cs new file mode 100644 index 00000000..dd8561d1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TaxRateInput.cs @@ -0,0 +1,107 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class TaxRateInput + { + + /// + /// ID assigned to identify this tax rate. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// Name assigned to identify this tax rate. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// Tax code assigned to identify this tax rate. + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + + /// + /// Description of tax rate + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// Effective tax rate + /// + [JsonProperty("effective_tax_rate")] + public double? EffectiveTaxRate { get; set; } = null; + + /// + /// Not compounded sum of the components of a tax rate + /// + [JsonProperty("total_tax_rate")] + public double? TotalTaxRate { get; set; } = null; + + /// + /// Unique identifier for the account for tax collected. + /// + [JsonProperty("tax_payable_account_id")] + public string? TaxPayableAccountId { get; set; } = null; + + /// + /// Unique identifier for the account for tax remitted. + /// + [JsonProperty("tax_remitted_account_id")] + public string? TaxRemittedAccountId { get; set; } = null; + + [JsonProperty("components")] + public List? Components { get; set; } = null; + + /// + /// Tax type used to indicate the source of tax collected or paid + /// + [JsonProperty("type")] + public string? Type { get; set; } = null; + + /// + /// Report Tax type to aggregate tax collected or paid for reporting purposes + /// + [JsonProperty("report_tax_type")] + public string? ReportTaxType { get; set; } = null; + + /// + /// ID of the original tax rate from which the new tax rate is derived. Helps to understand the relationship between corresponding tax rate entities. + /// + [JsonProperty("original_tax_rate_id")] + public string? OriginalTaxRateId { get; set; } = null; + + /// + /// Tax rate status + /// + [JsonProperty("status")] + public TaxRateStatus? Status { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TaxRateStatus.cs b/src/Apideck/Unify/SDK/Models/Components/TaxRateStatus.cs new file mode 100644 index 00000000..ef4a710b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TaxRateStatus.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Tax rate status + /// + public enum TaxRateStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("inactive")] + Inactive, + [JsonProperty("archived")] + Archived, + } + + public static class TaxRateStatusExtension + { + public static string Value(this TaxRateStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static TaxRateStatus ToEnum(this string value) + { + foreach(var field in typeof(TaxRateStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is TaxRateStatus) + { + return (TaxRateStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum TaxRateStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TaxRatesFilter.cs b/src/Apideck/Unify/SDK/Models/Components/TaxRatesFilter.cs new file mode 100644 index 00000000..1aa1d86a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TaxRatesFilter.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + + public class TaxRatesFilter + { + + /// + /// Boolean to describe if tax rate can be used for asset accounts + /// + [SpeakeasyMetadata("queryParam:name=assets")] + public bool? Assets { get; set; } + + /// + /// Boolean to describe if tax rate can be used for equity accounts + /// + [SpeakeasyMetadata("queryParam:name=equity")] + public bool? Equity { get; set; } + + /// + /// Boolean to describe if tax rate can be used for expense accounts + /// + [SpeakeasyMetadata("queryParam:name=expenses")] + public bool? Expenses { get; set; } + + /// + /// Boolean to describe if tax rate can be used for liability accounts + /// + [SpeakeasyMetadata("queryParam:name=liabilities")] + public bool? Liabilities { get; set; } + + /// + /// Boolean to describe if tax rate can be used for revenue accounts + /// + [SpeakeasyMetadata("queryParam:name=revenue")] + public bool? Revenue { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Team.cs b/src/Apideck/Unify/SDK/Models/Components/Team.cs new file mode 100644 index 00000000..da704391 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Team.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// The team the person is currently in. + /// + public class Team + { + + /// + /// The unique identifier of the team. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The name of the team. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TheStartMonthOfFiscalYear.cs b/src/Apideck/Unify/SDK/Models/Components/TheStartMonthOfFiscalYear.cs new file mode 100644 index 00000000..ce0d343e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TheStartMonthOfFiscalYear.cs @@ -0,0 +1,80 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The start month of fiscal year. + /// + public enum TheStartMonthOfFiscalYear + { + [JsonProperty("January")] + January, + [JsonProperty("February")] + February, + [JsonProperty("March")] + March, + [JsonProperty("April")] + April, + [JsonProperty("May")] + May, + [JsonProperty("June")] + June, + [JsonProperty("July")] + July, + [JsonProperty("August")] + August, + [JsonProperty("September")] + September, + [JsonProperty("October")] + October, + [JsonProperty("November")] + November, + [JsonProperty("December")] + December, + } + + public static class TheStartMonthOfFiscalYearExtension + { + public static string Value(this TheStartMonthOfFiscalYear value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static TheStartMonthOfFiscalYear ToEnum(this string value) + { + foreach(var field in typeof(TheStartMonthOfFiscalYear).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is TheStartMonthOfFiscalYear) + { + return (TheStartMonthOfFiscalYear)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum TheStartMonthOfFiscalYear"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Theme.cs b/src/Apideck/Unify/SDK/Models/Components/Theme.cs new file mode 100644 index 00000000..a55f1d6d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Theme.cs @@ -0,0 +1,69 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Theming options to change the look and feel of Vault. + /// + public class Theme + { + + /// + /// The URL to the favicon to use for Vault. + /// + [JsonProperty("favicon")] + public string? Favicon { get; set; } + + /// + /// The URL to the logo to use for Vault. + /// + [JsonProperty("logo")] + public string? Logo { get; set; } + + /// + /// The primary color to use for Vault. + /// + [JsonProperty("primary_color")] + public string? PrimaryColor { get; set; } + + /// + /// The background color to use for the sidebar. + /// + [JsonProperty("sidepanel_background_color")] + public string? SidepanelBackgroundColor { get; set; } + + /// + /// The text color to use for the sidebar. + /// + [JsonProperty("sidepanel_text_color")] + public string? SidepanelTextColor { get; set; } + + /// + /// The name that will be shown in the sidebar. + /// + [JsonProperty("vault_name")] + public string? VaultName { get; set; } + + /// + /// The URL to the privacy policy that will be shown in the sidebar. + /// + [JsonProperty("privacy_url")] + public string? PrivacyUrl { get; set; } + + /// + /// The URL to the terms and conditions that will be shown in the sidebar. + /// + [JsonProperty("terms_url")] + public string? TermsUrl { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Ticket.cs b/src/Apideck/Unify/SDK/Models/Components/Ticket.cs new file mode 100644 index 00000000..64036128 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Ticket.cs @@ -0,0 +1,117 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class Ticket + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The ticket's parent ID + /// + [JsonProperty("parent_id")] + public string? ParentId { get; set; } = null; + + /// + /// The ticket's collection ID + /// + [JsonProperty("collection_id")] + public string? CollectionId { get; set; } = null; + + /// + /// The ticket's type + /// + [JsonProperty("type")] + public string? Type { get; set; } = null; + + /// + /// Subject of the ticket + /// + [JsonProperty("subject")] + public string? Subject { get; set; } = null; + + /// + /// The ticket's description. HTML version of description is mapped if supported by the third-party platform + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The current status of the ticket. Possible values include: open, in_progress, closed, or - in cases where there is no clear mapping - the original value passed through. + /// + [JsonProperty("status")] + public string? Status { get; set; } = null; + + /// + /// Priority of the ticket + /// + [JsonProperty("priority")] + public Priority? Priority { get; set; } = null; + + [JsonProperty("assignees")] + public List? Assignees { get; set; } + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// Due date of the ticket + /// + [JsonProperty("due_date")] + public DateTime? DueDate { get; set; } = null; + + /// + /// When the ticket was completed + /// + [JsonProperty("completed_at")] + public DateTime? CompletedAt { get; set; } = null; + + [JsonProperty("tags")] + public List? Tags { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TicketInput.cs b/src/Apideck/Unify/SDK/Models/Components/TicketInput.cs new file mode 100644 index 00000000..8b2139cc --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TicketInput.cs @@ -0,0 +1,75 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class TicketInput + { + + /// + /// The ticket's parent ID + /// + [JsonProperty("parent_id")] + public string? ParentId { get; set; } = null; + + /// + /// The ticket's type + /// + [JsonProperty("type")] + public string? Type { get; set; } = null; + + /// + /// Subject of the ticket + /// + [JsonProperty("subject")] + public string? Subject { get; set; } = null; + + /// + /// The ticket's description. HTML version of description is mapped if supported by the third-party platform + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The current status of the ticket. Possible values include: open, in_progress, closed, or - in cases where there is no clear mapping - the original value passed through. + /// + [JsonProperty("status")] + public string? Status { get; set; } = null; + + /// + /// Priority of the ticket + /// + [JsonProperty("priority")] + public Priority? Priority { get; set; } = null; + + [JsonProperty("assignees")] + public List? Assignees { get; set; } + + /// + /// Due date of the ticket + /// + [JsonProperty("due_date")] + public DateTime? DueDate { get; set; } = null; + + [JsonProperty("tags")] + public List? Tags { get; set; } + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TicketsSort.cs b/src/Apideck/Unify/SDK/Models/Components/TicketsSort.cs new file mode 100644 index 00000000..dafd5b91 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TicketsSort.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class TicketsSort + { + + /// + /// The field on which to sort the Tickets + /// + [SpeakeasyMetadata("queryParam:name=by")] + public TicketsSortBy? By { get; set; } + + /// + /// The direction in which to sort the results + /// + [SpeakeasyMetadata("queryParam:name=direction")] + public SortDirection? Direction { get; set; } = Apideck.Unify.SDK.Models.Components.SortDirection.Asc; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TicketsSortBy.cs b/src/Apideck/Unify/SDK/Models/Components/TicketsSortBy.cs new file mode 100644 index 00000000..664a76e9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TicketsSortBy.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The field on which to sort the Tickets + /// + public enum TicketsSortBy + { + [JsonProperty("created_at")] + CreatedAt, + [JsonProperty("updated_at")] + UpdatedAt, + } + + public static class TicketsSortByExtension + { + public static string Value(this TicketsSortBy value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static TicketsSortBy ToEnum(this string value) + { + foreach(var field in typeof(TicketsSortBy).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is TicketsSortBy) + { + return (TicketsSortBy)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum TicketsSortBy"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TimeOffRequest.cs b/src/Apideck/Unify/SDK/Models/Components/TimeOffRequest.cs new file mode 100644 index 00000000..cf5c8af0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TimeOffRequest.cs @@ -0,0 +1,144 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class TimeOffRequest + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// ID of the employee + /// + [JsonProperty("employee_id")] + public string? EmployeeId { get; set; } = null; + + /// + /// ID of the policy + /// + [JsonProperty("policy_id")] + public string? PolicyId { get; set; } = null; + + /// + /// The status of the time off request. + /// + [JsonProperty("status")] + public TimeOffRequestStatusStatus? Status { get; set; } = null; + + /// + /// Description of the time off request. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The start date of the time off request. + /// + [JsonProperty("start_date")] + public string? StartDate { get; set; } = null; + + /// + /// The end date of the time off request. + /// + [JsonProperty("end_date")] + public string? EndDate { get; set; } = null; + + /// + /// The date the request was made. + /// + [JsonProperty("request_date")] + public string? RequestDate { get; set; } = null; + + /// + /// The type of request + /// + [JsonProperty("request_type")] + public RequestType? RequestType { get; set; } = null; + + /// + /// The date the request was approved + /// + [JsonProperty("approval_date")] + public string? ApprovalDate { get; set; } = null; + + /// + /// The unit of time off requested. Possible values include: `hours`, `days`, or `other`. + /// + [JsonProperty("units")] + public Units? Units { get; set; } = null; + + /// + /// The amount of time off requested. + /// + [JsonProperty("amount")] + public double? Amount { get; set; } = null; + + /// + /// The day part of the time off request. + /// + [JsonProperty("day_part")] + public string? DayPart { get; set; } = null; + + [JsonProperty("notes")] + public Models.Components.Notes? Notes { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + + /// + /// The policy type of the time off request + /// + [JsonProperty("policy_type")] + public string? PolicyType { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TimeOffRequestInput.cs b/src/Apideck/Unify/SDK/Models/Components/TimeOffRequestInput.cs new file mode 100644 index 00000000..f80b2208 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TimeOffRequestInput.cs @@ -0,0 +1,107 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class TimeOffRequestInput + { + + /// + /// ID of the employee + /// + [JsonProperty("employee_id")] + public string? EmployeeId { get; set; } = null; + + /// + /// ID of the policy + /// + [JsonProperty("policy_id")] + public string? PolicyId { get; set; } = null; + + /// + /// The status of the time off request. + /// + [JsonProperty("status")] + public TimeOffRequestStatusStatus? Status { get; set; } = null; + + /// + /// Description of the time off request. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The start date of the time off request. + /// + [JsonProperty("start_date")] + public string? StartDate { get; set; } = null; + + /// + /// The end date of the time off request. + /// + [JsonProperty("end_date")] + public string? EndDate { get; set; } = null; + + /// + /// The date the request was made. + /// + [JsonProperty("request_date")] + public string? RequestDate { get; set; } = null; + + /// + /// The type of request + /// + [JsonProperty("request_type")] + public RequestType? RequestType { get; set; } = null; + + /// + /// The date the request was approved + /// + [JsonProperty("approval_date")] + public string? ApprovalDate { get; set; } = null; + + /// + /// The unit of time off requested. Possible values include: `hours`, `days`, or `other`. + /// + [JsonProperty("units")] + public Units? Units { get; set; } = null; + + /// + /// The amount of time off requested. + /// + [JsonProperty("amount")] + public double? Amount { get; set; } = null; + + /// + /// The day part of the time off request. + /// + [JsonProperty("day_part")] + public string? DayPart { get; set; } = null; + + [JsonProperty("notes")] + public Models.Components.Notes? Notes { get; set; } + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + + /// + /// The policy type of the time off request + /// + [JsonProperty("policy_type")] + public string? PolicyType { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TimeOffRequestStatus.cs b/src/Apideck/Unify/SDK/Models/Components/TimeOffRequestStatus.cs new file mode 100644 index 00000000..54b7f2aa --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TimeOffRequestStatus.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Time off request status to filter on + /// + public enum TimeOffRequestStatus + { + [JsonProperty("requested")] + Requested, + [JsonProperty("approved")] + Approved, + [JsonProperty("declined")] + Declined, + [JsonProperty("cancelled")] + Cancelled, + [JsonProperty("deleted")] + Deleted, + [JsonProperty("other")] + Other, + } + + public static class TimeOffRequestStatusExtension + { + public static string Value(this TimeOffRequestStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static TimeOffRequestStatus ToEnum(this string value) + { + foreach(var field in typeof(TimeOffRequestStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is TimeOffRequestStatus) + { + return (TimeOffRequestStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum TimeOffRequestStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TimeOffRequestStatusStatus.cs b/src/Apideck/Unify/SDK/Models/Components/TimeOffRequestStatusStatus.cs new file mode 100644 index 00000000..24f1f7a4 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TimeOffRequestStatusStatus.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The status of the time off request. + /// + public enum TimeOffRequestStatusStatus + { + [JsonProperty("requested")] + Requested, + [JsonProperty("approved")] + Approved, + [JsonProperty("declined")] + Declined, + [JsonProperty("cancelled")] + Cancelled, + [JsonProperty("deleted")] + Deleted, + [JsonProperty("other")] + Other, + } + + public static class TimeOffRequestStatusStatusExtension + { + public static string Value(this TimeOffRequestStatusStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static TimeOffRequestStatusStatus ToEnum(this string value) + { + foreach(var field in typeof(TimeOffRequestStatusStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is TimeOffRequestStatusStatus) + { + return (TimeOffRequestStatusStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum TimeOffRequestStatusStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TimeOffRequestsFilter.cs b/src/Apideck/Unify/SDK/Models/Components/TimeOffRequestsFilter.cs new file mode 100644 index 00000000..f513bdad --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TimeOffRequestsFilter.cs @@ -0,0 +1,54 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class TimeOffRequestsFilter + { + + /// + /// Start date + /// + [SpeakeasyMetadata("queryParam:name=start_date")] + public string? StartDate { get; set; } + + /// + /// End date + /// + [SpeakeasyMetadata("queryParam:name=end_date")] + public string? EndDate { get; set; } + + /// + /// Minimum date the time off request was last created or modified + /// + [SpeakeasyMetadata("queryParam:name=updated_since")] + public string? UpdatedSince { get; set; } + + /// + /// Employee ID + /// + [SpeakeasyMetadata("queryParam:name=employee_id")] + public string? EmployeeId { get; set; } + + /// + /// Time off request status to filter on + /// + [SpeakeasyMetadata("queryParam:name=time_off_request_status")] + public TimeOffRequestStatus? TimeOffRequestStatus { get; set; } + + /// + /// Company ID + /// + [SpeakeasyMetadata("queryParam:name=company_id")] + public string? CompanyId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TlsSupport.cs b/src/Apideck/Unify/SDK/Models/Components/TlsSupport.cs new file mode 100644 index 00000000..b988b5c3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TlsSupport.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class TlsSupport + { + + [JsonProperty("type")] + public string? Type { get; set; } + + /// + /// Description of the TLS support + /// + [JsonProperty("description")] + public string? Description { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TrackingCategory.cs b/src/Apideck/Unify/SDK/Models/Components/TrackingCategory.cs new file mode 100644 index 00000000..e25a7d56 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TrackingCategory.cs @@ -0,0 +1,93 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class TrackingCategory + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// A unique identifier for an object. + /// + [JsonProperty("parent_id")] + public string? ParentId { get; set; } = null; + + /// + /// The name of the tracking category. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// The code of the tracking category. + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + + /// + /// Based on the status some functionality is enabled or disabled. + /// + [JsonProperty("status")] + public TrackingCategoryStatus? Status { get; set; } + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TrackingCategoryInput.cs b/src/Apideck/Unify/SDK/Models/Components/TrackingCategoryInput.cs new file mode 100644 index 00000000..2957626d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TrackingCategoryInput.cs @@ -0,0 +1,56 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class TrackingCategoryInput + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("parent_id")] + public string? ParentId { get; set; } = null; + + /// + /// The name of the tracking category. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// The code of the tracking category. + /// + [JsonProperty("code")] + public string? Code { get; set; } = null; + + /// + /// Based on the status some functionality is enabled or disabled. + /// + [JsonProperty("status")] + public TrackingCategoryStatus? Status { get; set; } + + /// + /// A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. + /// + [JsonProperty("row_version")] + public string? RowVersion { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TrackingCategoryStatus.cs b/src/Apideck/Unify/SDK/Models/Components/TrackingCategoryStatus.cs new file mode 100644 index 00000000..ed0f0dcc --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TrackingCategoryStatus.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Based on the status some functionality is enabled or disabled. + /// + public enum TrackingCategoryStatus + { + [JsonProperty("active")] + Active, + [JsonProperty("inactive")] + Inactive, + } + + public static class TrackingCategoryStatusExtension + { + public static string Value(this TrackingCategoryStatus value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static TrackingCategoryStatus ToEnum(this string value) + { + foreach(var field in typeof(TrackingCategoryStatus).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is TrackingCategoryStatus) + { + return (TrackingCategoryStatus)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum TrackingCategoryStatus"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/TrackingItem.cs b/src/Apideck/Unify/SDK/Models/Components/TrackingItem.cs new file mode 100644 index 00000000..3ff34ba5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/TrackingItem.cs @@ -0,0 +1,46 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Represents the tracking information associated with an ecommerce order. + /// + public class TrackingItem + { + + /// + /// The name or code of the carrier or shipping company that is handling the shipment. + /// + [JsonProperty("provider", NullValueHandling = NullValueHandling.Include)] + public string? Provider { get; set; } + + /// + /// The tracking number associated with the shipment, which can be used to track the progress of the delivery. + /// + [JsonProperty("number", NullValueHandling = NullValueHandling.Include)] + public string? Number { get; set; } + + /// + /// The URL of the carrier's tracking page, which can be used to view detailed information about the shipment's progress. + /// + [JsonProperty("url")] + public string? Url { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Type.cs b/src/Apideck/Unify/SDK/Models/Components/Type.cs new file mode 100644 index 00000000..fa67909e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Type.cs @@ -0,0 +1,70 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of address. + /// + public enum Type + { + [JsonProperty("primary")] + Primary, + [JsonProperty("secondary")] + Secondary, + [JsonProperty("home")] + Home, + [JsonProperty("office")] + Office, + [JsonProperty("shipping")] + Shipping, + [JsonProperty("billing")] + Billing, + [JsonProperty("other")] + Other, + } + + public static class TypeExtension + { + public static string Value(this Type value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static Type ToEnum(this string value) + { + foreach(var field in typeof(Type).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is Type) + { + return (Type)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum Type"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UnexpectedErrorResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UnexpectedErrorResponse.cs new file mode 100644 index 00000000..a89bfced --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UnexpectedErrorResponse.cs @@ -0,0 +1,58 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Unexpected error + /// + public class UnexpectedErrorResponse + { + + /// + /// HTTP status code + /// + [JsonProperty("status_code")] + public double? StatusCode { get; set; } + + /// + /// Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231) + /// + [JsonProperty("error")] + public string? Error { get; set; } + + /// + /// The type of error returned + /// + [JsonProperty("type_name")] + public string? TypeName { get; set; } + + /// + /// A human-readable message providing more details about the error. + /// + [JsonProperty("message")] + public string? Message { get; set; } + + /// + /// Contains parameter or domain specific information related to the error and why it occurred. + /// + [JsonProperty("detail")] + public Models.Components.Detail? Detail { get; set; } + + /// + /// Link to documentation of error type + /// + [JsonProperty("ref")] + public string? Ref { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UnifiedApi.cs b/src/Apideck/Unify/SDK/Models/Components/UnifiedApi.cs new file mode 100644 index 00000000..bbc11c86 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UnifiedApi.cs @@ -0,0 +1,80 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Which Unified Api request was made to. + /// + public enum UnifiedApi + { + [JsonProperty("crm")] + Crm, + [JsonProperty("lead")] + Lead, + [JsonProperty("proxy")] + Proxy, + [JsonProperty("vault")] + Vault, + [JsonProperty("accounting")] + Accounting, + [JsonProperty("hris")] + Hris, + [JsonProperty("ats")] + Ats, + [JsonProperty("ecommerce")] + Ecommerce, + [JsonProperty("issue-tracking")] + IssueTracking, + [JsonProperty("pos")] + Pos, + [JsonProperty("file-storage")] + FileStorage, + [JsonProperty("sms")] + Sms, + } + + public static class UnifiedApiExtension + { + public static string Value(this UnifiedApi value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static UnifiedApi ToEnum(this string value) + { + foreach(var field in typeof(UnifiedApi).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is UnifiedApi) + { + return (UnifiedApi)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum UnifiedApi"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UnifiedApiId.cs b/src/Apideck/Unify/SDK/Models/Components/UnifiedApiId.cs new file mode 100644 index 00000000..71deff38 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UnifiedApiId.cs @@ -0,0 +1,110 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Name of Apideck Unified API + /// + public enum UnifiedApiId + { + [JsonProperty("accounting")] + Accounting, + [JsonProperty("ats")] + Ats, + [JsonProperty("calendar")] + Calendar, + [JsonProperty("crm")] + Crm, + [JsonProperty("csp")] + Csp, + [JsonProperty("customer-support")] + CustomerSupport, + [JsonProperty("ecommerce")] + Ecommerce, + [JsonProperty("email")] + Email, + [JsonProperty("email-marketing")] + EmailMarketing, + [JsonProperty("expense-management")] + ExpenseManagement, + [JsonProperty("file-storage")] + FileStorage, + [JsonProperty("form")] + Form, + [JsonProperty("hris")] + Hris, + [JsonProperty("lead")] + Lead, + [JsonProperty("payroll")] + Payroll, + [JsonProperty("pos")] + Pos, + [JsonProperty("procurement")] + Procurement, + [JsonProperty("project-management")] + ProjectManagement, + [JsonProperty("script")] + Script, + [JsonProperty("sms")] + Sms, + [JsonProperty("spreadsheet")] + Spreadsheet, + [JsonProperty("team-messaging")] + TeamMessaging, + [JsonProperty("issue-tracking")] + IssueTracking, + [JsonProperty("time-registration")] + TimeRegistration, + [JsonProperty("transactional-email")] + TransactionalEmail, + [JsonProperty("vault")] + Vault, + [JsonProperty("data-warehouse")] + DataWarehouse, + } + + public static class UnifiedApiIdExtension + { + public static string Value(this UnifiedApiId value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static UnifiedApiId ToEnum(this string value) + { + foreach(var field in typeof(UnifiedApiId).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is UnifiedApiId) + { + return (UnifiedApiId)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum UnifiedApiId"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UnifiedApis.cs b/src/Apideck/Unify/SDK/Models/Components/UnifiedApis.cs new file mode 100644 index 00000000..53c98a2f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UnifiedApis.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class UnifiedApis + { + + /// + /// Name of Apideck Unified API + /// + [JsonProperty("id")] + public UnifiedApiId? Id { get; set; } + + /// + /// Name of the API. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// Indicates whether a connector only supports authentication. In this case the connector is not mapped to a Unified API, but can be used with the Proxy API + /// + [JsonProperty("auth_only")] + public bool? AuthOnly { get; set; } + + [JsonProperty("oauth_scopes")] + public List? OauthScopes { get; set; } + + /// + /// List of resources that are supported on the connector. + /// + [JsonProperty("supported_resources")] + public List? SupportedResources { get; set; } + + /// + /// List of resources that are not supported on the downstream. + /// + [JsonProperty("downstream_unsupported_resources")] + public List? DownstreamUnsupportedResources { get; set; } + + /// + /// List of events that are supported on the connector for this Unified API. + /// + [JsonProperty("supported_events")] + public List? SupportedEvents { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UnifiedFile.cs b/src/Apideck/Unify/SDK/Models/Components/UnifiedFile.cs new file mode 100644 index 00000000..6e4d5f8d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UnifiedFile.cs @@ -0,0 +1,138 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class UnifiedFile + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + + /// + /// The third-party API ID of original entity + /// + [JsonProperty("downstream_id")] + public string? DownstreamId { get; set; } = null; + + /// + /// The name of the file + /// + [JsonProperty("name", NullValueHandling = NullValueHandling.Include)] + public string? Name { get; set; } + + /// + /// Optional description of the file + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The type of resource. Could be file, folder or url + /// + [JsonProperty("type", NullValueHandling = NullValueHandling.Include)] + public FileType? Type { get; set; } + + /// + /// The full path of the file or folder (includes the file name) + /// + [JsonProperty("path")] + public string? Path { get; set; } = null; + + /// + /// The MIME type of the file. + /// + [JsonProperty("mime_type")] + public string? MimeType { get; set; } = null; + + /// + /// Whether the current user can download this file + /// + [JsonProperty("downloadable")] + public bool? Downloadable { get; set; } + + /// + /// The size of the file in bytes + /// + [JsonProperty("size")] + public long? Size { get; set; } = null; + + [JsonProperty("owner")] + public Owner? Owner { get; set; } + + /// + /// The parent folders of the file, starting from the root + /// + [JsonProperty("parent_folders")] + public List? ParentFolders { get; set; } + + /// + /// Whether the list of parent folders is complete. Some connectors only return the direct parent of a file + /// + [JsonProperty("parent_folders_complete")] + public bool? ParentFoldersComplete { get; set; } + + /// + /// Permissions the current user has on this file. + /// + [JsonProperty("permissions")] + public Permissions? Permissions { get; set; } + + /// + /// Whether the current file is exportable to other file formats. This property is relevant for proprietary file formats such as Google Docs or Dropbox Paper. + /// + [JsonProperty("exportable")] + public bool? Exportable { get; set; } + + /// + /// The available file formats when exporting this file. + /// + [JsonProperty("export_formats")] + public List? ExportFormats { get; set; } = null; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The user who last updated the object. + /// + [JsonProperty("updated_by")] + public string? UpdatedBy { get; set; } = null; + + /// + /// The user who created the object. + /// + [JsonProperty("created_by")] + public string? CreatedBy { get; set; } = null; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UnifiedId.cs b/src/Apideck/Unify/SDK/Models/Components/UnifiedId.cs new file mode 100644 index 00000000..66e5208d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UnifiedId.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class UnifiedId + { + + /// + /// The unique identifier of the resource + /// + [JsonProperty("id")] + public string Id { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Unit.cs b/src/Apideck/Unify/SDK/Models/Components/Unit.cs new file mode 100644 index 00000000..d3a2adda --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Unit.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The window unit for the rate. + /// + public enum Unit + { + [JsonProperty("second")] + Second, + [JsonProperty("minute")] + Minute, + [JsonProperty("hour")] + Hour, + [JsonProperty("day")] + Day, + } + + public static class UnitExtension + { + public static string Value(this Unit value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static Unit ToEnum(this string value) + { + foreach(var field in typeof(Unit).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is Unit) + { + return (Unit)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum Unit"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Units.cs b/src/Apideck/Unify/SDK/Models/Components/Units.cs new file mode 100644 index 00000000..131e3159 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Units.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The unit of time off requested. Possible values include: `hours`, `days`, or `other`. + /// + public enum Units + { + [JsonProperty("days")] + Days, + [JsonProperty("hours")] + Hours, + [JsonProperty("other")] + Other, + } + + public static class UnitsExtension + { + public static string Value(this Units value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static Units ToEnum(this string value) + { + foreach(var field in typeof(Units).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is Units) + { + return (Units)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum Units"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateAccountingDepartmentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateAccountingDepartmentResponse.cs new file mode 100644 index 00000000..eaa6e45f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateAccountingDepartmentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Department + /// + public class UpdateAccountingDepartmentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateAccountingLocationResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateAccountingLocationResponse.cs new file mode 100644 index 00000000..114fc8fb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateAccountingLocationResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Location + /// + public class UpdateAccountingLocationResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateActivityResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateActivityResponse.cs new file mode 100644 index 00000000..fbd9db59 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateActivityResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Activity updated + /// + public class UpdateActivityResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateApplicantResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateApplicantResponse.cs new file mode 100644 index 00000000..00504f20 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateApplicantResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Applicants + /// + public class UpdateApplicantResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateApplicationResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateApplicationResponse.cs new file mode 100644 index 00000000..0e551edf --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateApplicationResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Applications + /// + public class UpdateApplicationResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateBillPaymentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateBillPaymentResponse.cs new file mode 100644 index 00000000..15a85e7b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateBillPaymentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Bill Payment updated + /// + public class UpdateBillPaymentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateBillResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateBillResponse.cs new file mode 100644 index 00000000..db655729 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateBillResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Bill Updated + /// + public class UpdateBillResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateCommentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateCommentResponse.cs new file mode 100644 index 00000000..e77393a8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateCommentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Update a Comment + /// + public class UpdateCommentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateCompanyResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateCompanyResponse.cs new file mode 100644 index 00000000..89f0757a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateCompanyResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Company updated + /// + public class UpdateCompanyResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateConnectionResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateConnectionResponse.cs new file mode 100644 index 00000000..a1acac91 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateConnectionResponse.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Connection updated + /// + public class UpdateConnectionResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public Connection Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateConsumerRequest.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateConsumerRequest.cs new file mode 100644 index 00000000..89881d28 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateConsumerRequest.cs @@ -0,0 +1,25 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class UpdateConsumerRequest + { + + /// + /// The metadata of the consumer. This is used to display the consumer in the sidebar. This is optional, but recommended. + /// + [JsonProperty("metadata")] + public ConsumerMetadata? Metadata { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateConsumerResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateConsumerResponse.cs new file mode 100644 index 00000000..6a8783ae --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateConsumerResponse.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Consumer updated + /// + public class UpdateConsumerResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public Consumer Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateContactResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateContactResponse.cs new file mode 100644 index 00000000..f9830f96 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateContactResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Contact updated + /// + public class UpdateContactResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateCreditNoteResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateCreditNoteResponse.cs new file mode 100644 index 00000000..65835119 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateCreditNoteResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Credit Note updated + /// + public class UpdateCreditNoteResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateCustomerResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateCustomerResponse.cs new file mode 100644 index 00000000..fc20885c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateCustomerResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Customers + /// + public class UpdateCustomerResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateDepartmentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateDepartmentResponse.cs new file mode 100644 index 00000000..26e5ca5a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateDepartmentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Departments + /// + public class UpdateDepartmentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateDriveGroupResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateDriveGroupResponse.cs new file mode 100644 index 00000000..aba528c6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateDriveGroupResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// DriveGroups + /// + public class UpdateDriveGroupResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateDriveResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateDriveResponse.cs new file mode 100644 index 00000000..555aa14a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateDriveResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Drives + /// + public class UpdateDriveResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateEmployeeResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateEmployeeResponse.cs new file mode 100644 index 00000000..67522cff --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateEmployeeResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Employees + /// + public class UpdateEmployeeResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateExpenseResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateExpenseResponse.cs new file mode 100644 index 00000000..c7ee8e60 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateExpenseResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Expenses + /// + public class UpdateExpenseResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateFileRequest.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateFileRequest.cs new file mode 100644 index 00000000..b593e468 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateFileRequest.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class UpdateFileRequest + { + + /// + /// The name of the file. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// Optional description of the file. + /// + [JsonProperty("description")] + public string? Description { get; set; } + + /// + /// The parent folder to create the new file within. This can be an ID or a path depending on the downstream folder. Please see the connector section below to see downstream specific gotchas. + /// + [JsonProperty("parent_folder_id")] + public string? ParentFolderId { get; set; } + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateFileResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateFileResponse.cs new file mode 100644 index 00000000..5e64f8a7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateFileResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Files + /// + public class UpdateFileResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateFolderRequest.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateFolderRequest.cs new file mode 100644 index 00000000..036259fe --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateFolderRequest.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class UpdateFolderRequest + { + + /// + /// The name of the folder. + /// + [JsonProperty("name")] + public string? Name { get; set; } + + /// + /// Optional description of the folder. + /// + [JsonProperty("description")] + public string? Description { get; set; } + + /// + /// The parent folder to create the new file within. This can be an ID or a path depending on the downstream folder. Please see the connector section below to see downstream specific gotchas. + /// + [JsonProperty("parent_folder_id")] + public string? ParentFolderId { get; set; } + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateFolderResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateFolderResponse.cs new file mode 100644 index 00000000..54f3b0bb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateFolderResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Folders + /// + public class UpdateFolderResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateHrisCompanyResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateHrisCompanyResponse.cs new file mode 100644 index 00000000..7cc174ec --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateHrisCompanyResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Companies + /// + public class UpdateHrisCompanyResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateInvoiceItemsResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateInvoiceItemsResponse.cs new file mode 100644 index 00000000..c5a4c73b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateInvoiceItemsResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// InvoiceItems + /// + public class UpdateInvoiceItemsResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateInvoiceResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateInvoiceResponse.cs new file mode 100644 index 00000000..e6b4c64b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateInvoiceResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Invoice updated + /// + public class UpdateInvoiceResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public InvoiceResponse Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateJournalEntryResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateJournalEntryResponse.cs new file mode 100644 index 00000000..ee9b5f0a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateJournalEntryResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// JournalEntries + /// + public class UpdateJournalEntryResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateLeadResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateLeadResponse.cs new file mode 100644 index 00000000..2d863c05 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateLeadResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Lead updated + /// + public class UpdateLeadResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateLedgerAccountResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateLedgerAccountResponse.cs new file mode 100644 index 00000000..5982e267 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateLedgerAccountResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// LedgerAccount updated + /// + public class UpdateLedgerAccountResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateMessageResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateMessageResponse.cs new file mode 100644 index 00000000..113d9c9e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateMessageResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Messages + /// + public class UpdateMessageResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateNoteResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateNoteResponse.cs new file mode 100644 index 00000000..3f95b898 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateNoteResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Note updated + /// + public class UpdateNoteResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateOpportunityResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateOpportunityResponse.cs new file mode 100644 index 00000000..54c49db0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateOpportunityResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Opportunity updated + /// + public class UpdateOpportunityResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdatePaymentResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdatePaymentResponse.cs new file mode 100644 index 00000000..43d197ab --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdatePaymentResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Payment Updated + /// + public class UpdatePaymentResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdatePipelineResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdatePipelineResponse.cs new file mode 100644 index 00000000..5de4b34a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdatePipelineResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Pipeline updated + /// + public class UpdatePipelineResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdatePurchaseOrderResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdatePurchaseOrderResponse.cs new file mode 100644 index 00000000..aa48dd06 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdatePurchaseOrderResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// PurchaseOrders + /// + public class UpdatePurchaseOrderResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateSharedLinkResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateSharedLinkResponse.cs new file mode 100644 index 00000000..8b24ce1b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateSharedLinkResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Shared Links + /// + public class UpdateSharedLinkResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateSubsidiaryResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateSubsidiaryResponse.cs new file mode 100644 index 00000000..f1520503 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateSubsidiaryResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Subsidiaries + /// + public class UpdateSubsidiaryResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateSupplierResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateSupplierResponse.cs new file mode 100644 index 00000000..3bf8170c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateSupplierResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Supplier updated + /// + public class UpdateSupplierResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateTaxRateResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateTaxRateResponse.cs new file mode 100644 index 00000000..9fb77f81 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateTaxRateResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// TaxRate updated + /// + public class UpdateTaxRateResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateTicketResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateTicketResponse.cs new file mode 100644 index 00000000..f49d2f49 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateTicketResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Update a Ticket + /// + public class UpdateTicketResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateTimeOffRequestResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateTimeOffRequestResponse.cs new file mode 100644 index 00000000..96afd980 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateTimeOffRequestResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// TimeOffRequests + /// + public class UpdateTimeOffRequestResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateTrackingCategoryResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateTrackingCategoryResponse.cs new file mode 100644 index 00000000..457b7b12 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateTrackingCategoryResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Tracking category updated + /// + public class UpdateTrackingCategoryResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateUserResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateUserResponse.cs new file mode 100644 index 00000000..39806b07 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateUserResponse.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// User updated + /// + public class UpdateUserResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + /// + /// Apideck ID of service provider + /// + [JsonProperty("service")] + public string Service { get; set; } = default!; + + /// + /// Unified API resource name + /// + [JsonProperty("resource")] + public string Resource { get; set; } = default!; + + /// + /// Operation performed + /// + [JsonProperty("operation")] + public string Operation { get; set; } = default!; + + [JsonProperty("data")] + public UnifiedId Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateWebhookRequest.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateWebhookRequest.cs new file mode 100644 index 00000000..1230466e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateWebhookRequest.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class UpdateWebhookRequest + { + + /// + /// A description of the object. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The status of the webhook. + /// + [JsonProperty("status")] + public Status? Status { get; set; } + + /// + /// The delivery url of the webhook endpoint. + /// + [JsonProperty("delivery_url")] + public string? DeliveryUrl { get; set; } + + /// + /// The list of subscribed events for this webhook. [`*`] indicates that all events are enabled. + /// + [JsonProperty("events")] + public List? Events { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UpdateWebhookResponse.cs b/src/Apideck/Unify/SDK/Models/Components/UpdateWebhookResponse.cs new file mode 100644 index 00000000..ac41fef5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UpdateWebhookResponse.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Webhooks + /// + public class UpdateWebhookResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public Models.Components.Webhook Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UploadSession.cs b/src/Apideck/Unify/SDK/Models/Components/UploadSession.cs new file mode 100644 index 00000000..b43e312a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UploadSession.cs @@ -0,0 +1,52 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public class UploadSession + { + + /// + /// A unique identifier for an object. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Indicates if the upload session was completed successfully. + /// + [JsonProperty("success")] + public bool? Success { get; set; } + + /// + /// Size in bytes of each part of the file that you will upload. Uploaded parts need to be this size for the upload to be successful. + /// + [JsonProperty("part_size")] + public double? PartSize { get; set; } + + /// + /// Indicates if parts of the file can uploaded in parallel. + /// + [JsonProperty("parallel_upload_supported")] + public bool? ParallelUploadSupported { get; set; } + + /// + /// The range of bytes that was successfully uploaded. + /// + [JsonProperty("uploaded_byte_range")] + public string? UploadedByteRange { get; set; } + + [JsonProperty("expires_at")] + public DateTime? ExpiresAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/User.cs b/src/Apideck/Unify/SDK/Models/Components/User.cs new file mode 100644 index 00000000..40fd5e3d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/User.cs @@ -0,0 +1,139 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class User + { + + /// + /// The unique identifier for the user + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// The parent user id + /// + [JsonProperty("parent_id")] + public string? ParentId { get; set; } = null; + + /// + /// The username of the user + /// + [JsonProperty("username")] + public string? Username { get; set; } = null; + + /// + /// The first name of the person. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// The last name of the person. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// The job title of the person. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// The division the person is currently in. Usually a collection of departments or teams or regions. + /// + [JsonProperty("division")] + public string? Division { get; set; } = null; + + /// + /// The department the person is currently in. Deprecated in favor of the dedicated department_id and department_name field. + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("department")] + public string? Department { get; set; } = null; + + /// + /// The name of the company. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// An Employee Number, Employee ID or Employee Code, is a unique number that has been assigned to each individual staff member within a company. + /// + [JsonProperty("employee_number")] + public string? EmployeeNumber { get; set; } = null; + + /// + /// A description of the object. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The URL of the user's avatar + /// + [JsonProperty("image")] + public string? Image { get; set; } = null; + + /// + /// language code according to ISO 639-1. For the United States - EN + /// + [JsonProperty("language")] + public string? Language { get; set; } = null; + + /// + /// The status of the user + /// + [JsonProperty("status")] + public string? Status { get; set; } = null; + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List Emails { get; set; } = default!; + + /// + /// When custom mappings are configured on the resource, the result is included here. + /// + [JsonProperty("custom_mappings")] + public Models.Components.CustomMappings? CustomMappings { get; set; } = null; + + /// + /// The date and time when the user was last updated. + /// + [JsonProperty("updated_at")] + public string? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the user was created. + /// + [JsonProperty("created_at")] + public string? CreatedAt { get; set; } = null; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/UserInput.cs b/src/Apideck/Unify/SDK/Models/Components/UserInput.cs new file mode 100644 index 00000000..365aca7f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/UserInput.cs @@ -0,0 +1,121 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class UserInput + { + + /// + /// The parent user id + /// + [JsonProperty("parent_id")] + public string? ParentId { get; set; } = null; + + /// + /// The username of the user + /// + [JsonProperty("username")] + public string? Username { get; set; } = null; + + /// + /// The first name of the person. + /// + [JsonProperty("first_name")] + public string? FirstName { get; set; } = null; + + /// + /// The last name of the person. + /// + [JsonProperty("last_name")] + public string? LastName { get; set; } = null; + + /// + /// The job title of the person. + /// + [JsonProperty("title")] + public string? Title { get; set; } = null; + + /// + /// The division the person is currently in. Usually a collection of departments or teams or regions. + /// + [JsonProperty("division")] + public string? Division { get; set; } = null; + + /// + /// The department the person is currently in. Deprecated in favor of the dedicated department_id and department_name field. + /// + [Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")] + [JsonProperty("department")] + public string? Department { get; set; } = null; + + /// + /// The name of the company. + /// + [JsonProperty("company_name")] + public string? CompanyName { get; set; } = null; + + /// + /// An Employee Number, Employee ID or Employee Code, is a unique number that has been assigned to each individual staff member within a company. + /// + [JsonProperty("employee_number")] + public string? EmployeeNumber { get; set; } = null; + + /// + /// A description of the object. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// The URL of the user's avatar + /// + [JsonProperty("image")] + public string? Image { get; set; } = null; + + /// + /// language code according to ISO 639-1. For the United States - EN + /// + [JsonProperty("language")] + public string? Language { get; set; } = null; + + /// + /// The status of the user + /// + [JsonProperty("status")] + public string? Status { get; set; } = null; + + /// + /// The password of the user + /// + [JsonProperty("password")] + public string? Password { get; set; } = null; + + [JsonProperty("addresses")] + public List
? Addresses { get; set; } + + [JsonProperty("phone_numbers")] + public List? PhoneNumbers { get; set; } + + [JsonProperty("emails")] + public List Emails { get; set; } = default!; + + /// + /// The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. + /// + [JsonProperty("pass_through")] + public List? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ValidateConnectionStateResponse.cs b/src/Apideck/Unify/SDK/Models/Components/ValidateConnectionStateResponse.cs new file mode 100644 index 00000000..7381b02e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ValidateConnectionStateResponse.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Connection access token refreshed + /// + public class ValidateConnectionStateResponse + { + + /// + /// HTTP Response Status Code + /// + [JsonProperty("status_code")] + public long StatusCode { get; set; } = default!; + + /// + /// HTTP Response Status + /// + [JsonProperty("status")] + public string Status { get; set; } = default!; + + [JsonProperty("data")] + public ValidateConnectionStateResponseData Data { get; set; } = default!; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/ValidateConnectionStateResponseData.cs b/src/Apideck/Unify/SDK/Models/Components/ValidateConnectionStateResponseData.cs new file mode 100644 index 00000000..d294070d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/ValidateConnectionStateResponseData.cs @@ -0,0 +1,31 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ValidateConnectionStateResponseData + { + + /// + /// The unique identifier of the connection. + /// + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// Connection state flow + /// + [JsonProperty("state")] + public ConnectionState? State { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Value.cs b/src/Apideck/Unify/SDK/Models/Components/Value.cs new file mode 100644 index 00000000..259b7bd6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Value.cs @@ -0,0 +1,332 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json.Linq; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Numerics; + using System.Reflection; + using System; + + + public class ValueType + { + private ValueType(string value) { Value = value; } + + public string Value { get; private set; } + public static ValueType Str { get { return new ValueType("str"); } } + + public static ValueType Number { get { return new ValueType("number"); } } + + public static ValueType Boolean { get { return new ValueType("boolean"); } } + + public static ValueType Four { get { return new ValueType("4"); } } + + public static ValueType ArrayOfStr { get { return new ValueType("arrayOfStr"); } } + + public static ValueType ArrayOf6 { get { return new ValueType("arrayOf6"); } } + + public static ValueType Null { get { return new ValueType("null"); } } + + public override string ToString() { return Value; } + public static implicit operator String(ValueType v) { return v.Value; } + public static ValueType FromString(string v) { + switch(v) { + case "str": return Str; + case "number": return Number; + case "boolean": return Boolean; + case "4": return Four; + case "arrayOfStr": return ArrayOfStr; + case "arrayOf6": return ArrayOf6; + case "null": return Null; + default: throw new ArgumentException("Invalid value for ValueType"); + } + } + public override bool Equals(object? obj) + { + if (obj == null || GetType() != obj.GetType()) + { + return false; + } + return Value.Equals(((ValueType)obj).Value); + } + + public override int GetHashCode() + { + return Value.GetHashCode(); + } + } + + + [JsonConverter(typeof(Value.ValueConverter))] + public class Value { + public Value(ValueType type) { + Type = type; + } + + [SpeakeasyMetadata("form:explode=true")] + public string? Str { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public double? Number { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public bool? Boolean { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public Four? Four { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public List? ArrayOfStr { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public List? ArrayOf6 { get; set; } + + public ValueType Type { get; set; } + + + public static Value CreateStr(string str) { + ValueType typ = ValueType.Str; + + Value res = new Value(typ); + res.Str = str; + return res; + } + + public static Value CreateNumber(double number) { + ValueType typ = ValueType.Number; + + Value res = new Value(typ); + res.Number = number; + return res; + } + + public static Value CreateBoolean(bool boolean) { + ValueType typ = ValueType.Boolean; + + Value res = new Value(typ); + res.Boolean = boolean; + return res; + } + + public static Value CreateFour(Four four) { + ValueType typ = ValueType.Four; + + Value res = new Value(typ); + res.Four = four; + return res; + } + + public static Value CreateArrayOfStr(List arrayOfStr) { + ValueType typ = ValueType.ArrayOfStr; + + Value res = new Value(typ); + res.ArrayOfStr = arrayOfStr; + return res; + } + + public static Value CreateArrayOf6(List arrayOf6) { + ValueType typ = ValueType.ArrayOf6; + + Value res = new Value(typ); + res.ArrayOf6 = arrayOf6; + return res; + } + + public static Value CreateNull() { + ValueType typ = ValueType.Null; + return new Value(typ); + } + + public class ValueConverter : JsonConverter + { + + public override bool CanConvert(System.Type objectType) => objectType == typeof(Value); + + public override bool CanRead => true; + + public override object? ReadJson(JsonReader reader, System.Type objectType, object? existingValue, JsonSerializer serializer) + { + var json = JRaw.Create(reader).ToString(); + if (json == "null") + { + return null; + } + + var fallbackCandidates = new List<(System.Type, object, string)>(); + + try + { + return new Value(ValueType.Four) + { + Four = ResponseBodyDeserializer.DeserializeUndiscriminatedUnionMember(json) + }; + } + catch (ResponseBodyDeserializer.MissingMemberException) + { + fallbackCandidates.Add((typeof(Four), new Value(ValueType.Four), "Four")); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next option + } + catch (Exception) + { + throw; + } + + if (json[0] == '"' && json[^1] == '"'){ + return new Value(ValueType.Str) + { + Str = json[1..^1] + }; + } + + try + { + var converted = Convert.ToDouble(json); + return new Value(ValueType.Number) + { + Number = converted + }; + } + catch (System.FormatException) + { + // try next option + } + + try + { + var converted = Convert.ToBoolean(json); + return new Value(ValueType.Boolean) + { + Boolean = converted + }; + } + catch (System.FormatException) + { + // try next option + } + + try + { + return new Value(ValueType.ArrayOfStr) + { + ArrayOfStr = ResponseBodyDeserializer.DeserializeUndiscriminatedUnionMember>(json) + }; + } + catch (ResponseBodyDeserializer.MissingMemberException) + { + fallbackCandidates.Add((typeof(List), new Value(ValueType.ArrayOfStr), "ArrayOfStr")); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next option + } + catch (Exception) + { + throw; + } + + try + { + return new Value(ValueType.ArrayOf6) + { + ArrayOf6 = ResponseBodyDeserializer.DeserializeUndiscriminatedUnionMember>(json) + }; + } + catch (ResponseBodyDeserializer.MissingMemberException) + { + fallbackCandidates.Add((typeof(List), new Value(ValueType.ArrayOf6), "ArrayOf6")); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next option + } + catch (Exception) + { + throw; + } + + if (fallbackCandidates.Count > 0) + { + fallbackCandidates.Sort((a, b) => ResponseBodyDeserializer.CompareFallbackCandidates(a.Item1, b.Item1, json)); + foreach(var (deserializationType, returnObject, propertyName) in fallbackCandidates) + { + try + { + return ResponseBodyDeserializer.DeserializeUndiscriminatedUnionFallback(deserializationType, returnObject, propertyName, json); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next fallback option + } + catch (Exception) + { + throw; + } + } + } + + throw new InvalidOperationException("Could not deserialize into any supported types."); + } + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + if (value == null) { + writer.WriteRawValue("null"); + return; + } + Value res = (Value)value; + if (ValueType.FromString(res.Type).Equals(ValueType.Null)) + { + writer.WriteRawValue("null"); + return; + } + if (res.Str != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Str)); + return; + } + if (res.Number != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Number)); + return; + } + if (res.Boolean != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Boolean)); + return; + } + if (res.Four != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Four)); + return; + } + if (res.ArrayOfStr != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.ArrayOfStr)); + return; + } + if (res.ArrayOf6 != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.ArrayOf6)); + return; + } + + } + + } + + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Value5.cs b/src/Apideck/Unify/SDK/Models/Components/Value5.cs new file mode 100644 index 00000000..2a0cbecf --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Value5.cs @@ -0,0 +1,214 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json.Linq; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Numerics; + using System.Reflection; + using System; + + + public class Value5Type + { + private Value5Type(string value) { Value = value; } + + public string Value { get; private set; } + public static Value5Type Str { get { return new Value5Type("str"); } } + + public static Value5Type Integer { get { return new Value5Type("integer"); } } + + public static Value5Type Number { get { return new Value5Type("number"); } } + + public static Value5Type Null { get { return new Value5Type("null"); } } + + public override string ToString() { return Value; } + public static implicit operator String(Value5Type v) { return v.Value; } + public static Value5Type FromString(string v) { + switch(v) { + case "str": return Str; + case "integer": return Integer; + case "number": return Number; + case "null": return Null; + default: throw new ArgumentException("Invalid value for Value5Type"); + } + } + public override bool Equals(object? obj) + { + if (obj == null || GetType() != obj.GetType()) + { + return false; + } + return Value.Equals(((Value5Type)obj).Value); + } + + public override int GetHashCode() + { + return Value.GetHashCode(); + } + } + + + [JsonConverter(typeof(Value5.Value5Converter))] + public class Value5 { + public Value5(Value5Type type) { + Type = type; + } + + [SpeakeasyMetadata("form:explode=true")] + public string? Str { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public long? Integer { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public double? Number { get; set; } + + public Value5Type Type { get; set; } + + + public static Value5 CreateStr(string str) { + Value5Type typ = Value5Type.Str; + + Value5 res = new Value5(typ); + res.Str = str; + return res; + } + + public static Value5 CreateInteger(long integer) { + Value5Type typ = Value5Type.Integer; + + Value5 res = new Value5(typ); + res.Integer = integer; + return res; + } + + public static Value5 CreateNumber(double number) { + Value5Type typ = Value5Type.Number; + + Value5 res = new Value5(typ); + res.Number = number; + return res; + } + + public static Value5 CreateNull() { + Value5Type typ = Value5Type.Null; + return new Value5(typ); + } + + public class Value5Converter : JsonConverter + { + + public override bool CanConvert(System.Type objectType) => objectType == typeof(Value5); + + public override bool CanRead => true; + + public override object? ReadJson(JsonReader reader, System.Type objectType, object? existingValue, JsonSerializer serializer) + { + var json = JRaw.Create(reader).ToString(); + if (json == "null") + { + return null; + } + + var fallbackCandidates = new List<(System.Type, object, string)>(); + + if (json[0] == '"' && json[^1] == '"'){ + return new Value5(Value5Type.Str) + { + Str = json[1..^1] + }; + } + + try + { + var converted = Convert.ToInt64(json); + return new Value5(Value5Type.Integer) + { + Integer = converted + }; + } + catch (System.FormatException) + { + // try next option + } + + try + { + var converted = Convert.ToDouble(json); + return new Value5(Value5Type.Number) + { + Number = converted + }; + } + catch (System.FormatException) + { + // try next option + } + + if (fallbackCandidates.Count > 0) + { + fallbackCandidates.Sort((a, b) => ResponseBodyDeserializer.CompareFallbackCandidates(a.Item1, b.Item1, json)); + foreach(var (deserializationType, returnObject, propertyName) in fallbackCandidates) + { + try + { + return ResponseBodyDeserializer.DeserializeUndiscriminatedUnionFallback(deserializationType, returnObject, propertyName, json); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next fallback option + } + catch (Exception) + { + throw; + } + } + } + + throw new InvalidOperationException("Could not deserialize into any supported types."); + } + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + if (value == null) { + writer.WriteRawValue("null"); + return; + } + Value5 res = (Value5)value; + if (Value5Type.FromString(res.Type).Equals(Value5Type.Null)) + { + writer.WriteRawValue("null"); + return; + } + if (res.Str != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Str)); + return; + } + if (res.Integer != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Integer)); + return; + } + if (res.Number != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Number)); + return; + } + + } + + } + + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Variants.cs b/src/Apideck/Unify/SDK/Models/Components/Variants.cs new file mode 100644 index 00000000..f3e077a4 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Variants.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class Variants + { + + /// + /// A unique identifier for the variant of the product. + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The name for the variant, used for displaying to customers. + /// + [JsonProperty("name")] + public string? Name { get; set; } = null; + + /// + /// The price of the variant. + /// + [JsonProperty("price")] + public string? Price { get; set; } = null; + + /// + /// The stock keeping unit of the variant. + /// + [JsonProperty("sku")] + public string? Sku { get; set; } = null; + + /// + /// The quantity of the variant in stock. + /// + [JsonProperty("inventory_quantity")] + public string? InventoryQuantity { get; set; } = null; + + /// + /// The weight of the variant. + /// + [JsonProperty("weight")] + public string? Weight { get; set; } = null; + + /// + /// The unit of measurement for the weight of the variant. + /// + [JsonProperty("weight_unit")] + public string? WeightUnit { get; set; } = null; + + [JsonProperty("options")] + public List? Options { get; set; } + + [JsonProperty("images")] + public List? Images { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/VirtualWebhooks.cs b/src/Apideck/Unify/SDK/Models/Components/VirtualWebhooks.cs new file mode 100644 index 00000000..91884a9e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/VirtualWebhooks.cs @@ -0,0 +1,35 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Virtual webhook config for the connector. + /// + public class VirtualWebhooks + { + + /// + /// The rate at which requests for resources will be made to downstream. + /// + [JsonProperty("request_rate")] + public RequestRate RequestRate { get; set; } = default!; + + /// + /// The resources that will be requested from downstream. + /// + [JsonProperty("resources")] + public Dictionary? Resources { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Visibility.cs b/src/Apideck/Unify/SDK/Models/Components/Visibility.cs new file mode 100644 index 00000000..f667affd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Visibility.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The visibility of the job + /// + public enum Visibility + { + [JsonProperty("draft")] + Draft, + [JsonProperty("public")] + Public, + [JsonProperty("internal")] + Internal, + } + + public static class VisibilityExtension + { + public static string Value(this Visibility value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static Visibility ToEnum(this string value) + { + foreach(var field in typeof(Visibility).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is Visibility) + { + return (Visibility)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum Visibility"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Webhook.cs b/src/Apideck/Unify/SDK/Models/Components/Webhook.cs new file mode 100644 index 00000000..47a1750f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Webhook.cs @@ -0,0 +1,78 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class Webhook + { + + [JsonProperty("id")] + public string? Id { get; set; } + + /// + /// A description of the object. + /// + [JsonProperty("description")] + public string? Description { get; set; } = null; + + /// + /// Name of Apideck Unified API + /// + [JsonProperty("unified_api")] + public UnifiedApiId UnifiedApi { get; set; } = default!; + + /// + /// The status of the webhook. + /// + [JsonProperty("status")] + public Status Status { get; set; } = default!; + + /// + /// Indicates if the webhook has has been disabled as it reached its retry limit or if account is over the usage allocated by it's plan. + /// + [JsonProperty("disabled_reason")] + public DisabledReason? DisabledReason { get; set; } + + /// + /// The delivery url of the webhook endpoint. + /// + [JsonProperty("delivery_url")] + public string DeliveryUrl { get; set; } = default!; + + /// + /// The Unify Base URL events from connectors will be sent to after service id is appended. + /// + [JsonProperty("execute_base_url")] + public string ExecuteBaseUrl { get; set; } = default!; + + /// + /// The list of subscribed events for this webhook. [`*`] indicates that all events are enabled. + /// + [JsonProperty("events")] + public List Events { get; set; } = default!; + + /// + /// The date and time when the object was last updated. + /// + [JsonProperty("updated_at")] + public DateTime? UpdatedAt { get; set; } = null; + + /// + /// The date and time when the object was created. + /// + [JsonProperty("created_at")] + public DateTime? CreatedAt { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/WebhookEventType.cs b/src/Apideck/Unify/SDK/Models/Components/WebhookEventType.cs new file mode 100644 index 00000000..a6cf75a2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/WebhookEventType.cs @@ -0,0 +1,263 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum WebhookEventType + { + [JsonProperty("*")] + Wildcard, + [JsonProperty("crm.activity.created")] + CrmActivityCreated, + [JsonProperty("crm.activity.updated")] + CrmActivityUpdated, + [JsonProperty("crm.activity.deleted")] + CrmActivityDeleted, + [JsonProperty("crm.company.created")] + CrmCompanyCreated, + [JsonProperty("crm.company.updated")] + CrmCompanyUpdated, + [JsonProperty("crm.company.deleted")] + CrmCompanyDeleted, + [JsonProperty("crm.contact.created")] + CrmContactCreated, + [JsonProperty("crm.contact.updated")] + CrmContactUpdated, + [JsonProperty("crm.contact.deleted")] + CrmContactDeleted, + [JsonProperty("crm.lead.created")] + CrmLeadCreated, + [JsonProperty("crm.lead.updated")] + CrmLeadUpdated, + [JsonProperty("crm.lead.deleted")] + CrmLeadDeleted, + [JsonProperty("crm.note.created")] + CrmNoteCreated, + [JsonProperty("crm.notes.updated")] + CrmNotesUpdated, + [JsonProperty("crm.notes.deleted")] + CrmNotesDeleted, + [JsonProperty("crm.opportunity.created")] + CrmOpportunityCreated, + [JsonProperty("crm.opportunity.updated")] + CrmOpportunityUpdated, + [JsonProperty("crm.opportunity.deleted")] + CrmOpportunityDeleted, + [JsonProperty("lead.lead.created")] + LeadLeadCreated, + [JsonProperty("lead.lead.updated")] + LeadLeadUpdated, + [JsonProperty("lead.lead.deleted")] + LeadLeadDeleted, + [JsonProperty("vault.connection.created")] + VaultConnectionCreated, + [JsonProperty("vault.connection.updated")] + VaultConnectionUpdated, + [JsonProperty("vault.connection.disabled")] + VaultConnectionDisabled, + [JsonProperty("vault.connection.deleted")] + VaultConnectionDeleted, + [JsonProperty("vault.connection.callable")] + VaultConnectionCallable, + [JsonProperty("vault.connection.revoked")] + VaultConnectionRevoked, + [JsonProperty("vault.connection.token_refresh.failed")] + VaultConnectionTokenRefreshFailed, + [JsonProperty("ats.job.created")] + AtsJobCreated, + [JsonProperty("ats.job.updated")] + AtsJobUpdated, + [JsonProperty("ats.job.deleted")] + AtsJobDeleted, + [JsonProperty("ats.applicant.created")] + AtsApplicantCreated, + [JsonProperty("ats.applicant.updated")] + AtsApplicantUpdated, + [JsonProperty("ats.applicant.deleted")] + AtsApplicantDeleted, + [JsonProperty("accounting.customer.created")] + AccountingCustomerCreated, + [JsonProperty("accounting.customer.updated")] + AccountingCustomerUpdated, + [JsonProperty("accounting.customer.deleted")] + AccountingCustomerDeleted, + [JsonProperty("accounting.invoice.created")] + AccountingInvoiceCreated, + [JsonProperty("accounting.invoice.updated")] + AccountingInvoiceUpdated, + [JsonProperty("accounting.invoice.deleted")] + AccountingInvoiceDeleted, + [JsonProperty("accounting.invoice_item.created")] + AccountingInvoiceItemCreated, + [JsonProperty("accounting.invoice_item.updated")] + AccountingInvoiceItemUpdated, + [JsonProperty("accounting.invoice_item.deleted")] + AccountingInvoiceItemDeleted, + [JsonProperty("accounting.ledger_account.created")] + AccountingLedgerAccountCreated, + [JsonProperty("accounting.ledger_account.updated")] + AccountingLedgerAccountUpdated, + [JsonProperty("accounting.ledger_account.deleted")] + AccountingLedgerAccountDeleted, + [JsonProperty("accounting.tax_rate.created")] + AccountingTaxRateCreated, + [JsonProperty("accounting.tax_rate.updated")] + AccountingTaxRateUpdated, + [JsonProperty("accounting.tax_rate.deleted")] + AccountingTaxRateDeleted, + [JsonProperty("accounting.bill.created")] + AccountingBillCreated, + [JsonProperty("accounting.bill.updated")] + AccountingBillUpdated, + [JsonProperty("accounting.bill.deleted")] + AccountingBillDeleted, + [JsonProperty("accounting.payment.created")] + AccountingPaymentCreated, + [JsonProperty("accounting.payment.updated")] + AccountingPaymentUpdated, + [JsonProperty("accounting.payment.deleted")] + AccountingPaymentDeleted, + [JsonProperty("accounting.supplier.created")] + AccountingSupplierCreated, + [JsonProperty("accounting.supplier.updated")] + AccountingSupplierUpdated, + [JsonProperty("accounting.supplier.deleted")] + AccountingSupplierDeleted, + [JsonProperty("accounting.purchase_order.created")] + AccountingPurchaseOrderCreated, + [JsonProperty("accounting.purchase_order.updated")] + AccountingPurchaseOrderUpdated, + [JsonProperty("accounting.purchase_order.deleted")] + AccountingPurchaseOrderDeleted, + [JsonProperty("pos.order.created")] + PosOrderCreated, + [JsonProperty("pos.order.updated")] + PosOrderUpdated, + [JsonProperty("pos.order.deleted")] + PosOrderDeleted, + [JsonProperty("pos.product.created")] + PosProductCreated, + [JsonProperty("pos.product.updated")] + PosProductUpdated, + [JsonProperty("pos.product.deleted")] + PosProductDeleted, + [JsonProperty("pos.payment.created")] + PosPaymentCreated, + [JsonProperty("pos.payment.updated")] + PosPaymentUpdated, + [JsonProperty("pos.payment.deleted")] + PosPaymentDeleted, + [JsonProperty("pos.merchant.created")] + PosMerchantCreated, + [JsonProperty("pos.merchant.updated")] + PosMerchantUpdated, + [JsonProperty("pos.merchant.deleted")] + PosMerchantDeleted, + [JsonProperty("pos.location.created")] + PosLocationCreated, + [JsonProperty("pos.location.updated")] + PosLocationUpdated, + [JsonProperty("pos.location.deleted")] + PosLocationDeleted, + [JsonProperty("pos.item.created")] + PosItemCreated, + [JsonProperty("pos.item.updated")] + PosItemUpdated, + [JsonProperty("pos.item.deleted")] + PosItemDeleted, + [JsonProperty("pos.modifier.created")] + PosModifierCreated, + [JsonProperty("pos.modifier.updated")] + PosModifierUpdated, + [JsonProperty("pos.modifier.deleted")] + PosModifierDeleted, + [JsonProperty("pos.modifier-group.created")] + PosModifierGroupCreated, + [JsonProperty("pos.modifier-group.updated")] + PosModifierGroupUpdated, + [JsonProperty("pos.modifier-group.deleted")] + PosModifierGroupDeleted, + [JsonProperty("hris.employee.created")] + HrisEmployeeCreated, + [JsonProperty("hris.employee.updated")] + HrisEmployeeUpdated, + [JsonProperty("hris.employee.deleted")] + HrisEmployeeDeleted, + [JsonProperty("hris.employee.terminated")] + HrisEmployeeTerminated, + [JsonProperty("hris.company.created")] + HrisCompanyCreated, + [JsonProperty("hris.company.updated")] + HrisCompanyUpdated, + [JsonProperty("hris.company.deleted")] + HrisCompanyDeleted, + [JsonProperty("file-storage.file.created")] + FileStorageFileCreated, + [JsonProperty("file-storage.file.updated")] + FileStorageFileUpdated, + [JsonProperty("file-storage.file.deleted")] + FileStorageFileDeleted, + [JsonProperty("issue-tracking.ticket.created")] + IssueTrackingTicketCreated, + [JsonProperty("issue-tracking.ticket.updated")] + IssueTrackingTicketUpdated, + [JsonProperty("issue-tracking.ticket.deleted")] + IssueTrackingTicketDeleted, + [JsonProperty("ats.application.created")] + AtsApplicationCreated, + [JsonProperty("ats.application.updated")] + AtsApplicationUpdated, + [JsonProperty("ats.application.deleted")] + AtsApplicationDeleted, + [JsonProperty("accounting.expense.created")] + AccountingExpenseCreated, + [JsonProperty("accounting.expense.updated")] + AccountingExpenseUpdated, + [JsonProperty("accounting.expense.deleted")] + AccountingExpenseDeleted, + } + + public static class WebhookEventTypeExtension + { + public static string Value(this WebhookEventType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static WebhookEventType ToEnum(this string value) + { + foreach(var field in typeof(WebhookEventType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is WebhookEventType) + { + return (WebhookEventType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum WebhookEventType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/WebhookSubscription.cs b/src/Apideck/Unify/SDK/Models/Components/WebhookSubscription.cs new file mode 100644 index 00000000..20c2173e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/WebhookSubscription.cs @@ -0,0 +1,49 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class WebhookSubscription + { + + /// + /// The ID of the downstream service + /// + [JsonProperty("downstream_id")] + public string? DownstreamId { get; set; } + + /// + /// The list of Unify Events this connection is subscribed to + /// + [JsonProperty("unify_event_types")] + public List? UnifyEventTypes { get; set; } + + /// + /// The list of downstream Events this connection is subscribed to + /// + [JsonProperty("downstream_event_types")] + public List? DownstreamEventTypes { get; set; } + + /// + /// The URL the downstream is sending to when the event is triggered + /// + [JsonProperty("execute_url")] + public string? ExecuteUrl { get; set; } + + /// + /// The date and time the webhook subscription was created downstream + /// + [JsonProperty("created_at")] + public string? CreatedAt { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/WebhookSupport.cs b/src/Apideck/Unify/SDK/Models/Components/WebhookSupport.cs new file mode 100644 index 00000000..3e1b94e2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/WebhookSupport.cs @@ -0,0 +1,46 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + /// + /// How webhooks are supported for the connector. Sometimes the connector natively supports webhooks, other times Apideck virtualizes them based on polling. + /// + public class WebhookSupport + { + + /// + /// Mode of the webhook support. + /// + [JsonProperty("mode")] + public Mode? Mode { get; set; } + + /// + /// Received events are scoped to connection or across integration. + /// + [JsonProperty("subscription_level")] + public SubscriptionLevel? SubscriptionLevel { get; set; } + + /// + /// How the subscription is managed in the downstream. + /// + [JsonProperty("managed_via")] + public ManagedVia? ManagedVia { get; set; } + + /// + /// Virtual webhook config for the connector. + /// + [JsonProperty("virtual_webhooks")] + public VirtualWebhooks? VirtualWebhooks { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/WebhookSupportResources.cs b/src/Apideck/Unify/SDK/Models/Components/WebhookSupportResources.cs new file mode 100644 index 00000000..32fc0831 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/WebhookSupportResources.cs @@ -0,0 +1,22 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class WebhookSupportResources + { + + [JsonProperty("events")] + public List? Events { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Website.cs b/src/Apideck/Unify/SDK/Models/Components/Website.cs new file mode 100644 index 00000000..eb371347 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Website.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Website + { + + /// + /// Unique identifier for the website + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The website URL + /// + [JsonProperty("url")] + public string Url { get; set; } = default!; + + /// + /// The type of website + /// + [JsonProperty("type")] + public WebsiteType? Type { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/WebsiteType.cs b/src/Apideck/Unify/SDK/Models/Components/WebsiteType.cs new file mode 100644 index 00000000..296a4c0c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/WebsiteType.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of website + /// + public enum WebsiteType + { + [JsonProperty("primary")] + Primary, + [JsonProperty("secondary")] + Secondary, + [JsonProperty("work")] + Work, + [JsonProperty("personal")] + Personal, + [JsonProperty("other")] + Other, + } + + public static class WebsiteTypeExtension + { + public static string Value(this WebsiteType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static WebsiteType ToEnum(this string value) + { + foreach(var field in typeof(WebsiteType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is WebsiteType) + { + return (WebsiteType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum WebsiteType"); + } + } + +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/Websites.cs b/src/Apideck/Unify/SDK/Models/Components/Websites.cs new file mode 100644 index 00000000..d0a5aa66 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/Websites.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class Websites + { + + /// + /// Unique identifier for the website + /// + [JsonProperty("id")] + public string? Id { get; set; } = null; + + /// + /// The website URL + /// + [JsonProperty("url")] + public string Url { get; set; } = default!; + + /// + /// The type of website + /// + [JsonProperty("type")] + public ApplicantType? Type { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Components/WorkPattern.cs b/src/Apideck/Unify/SDK/Models/Components/WorkPattern.cs new file mode 100644 index 00000000..a2d0c311 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Components/WorkPattern.cs @@ -0,0 +1,25 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Components +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class WorkPattern + { + + [JsonProperty("odd_weeks")] + public OddWeeks? OddWeeks { get; set; } + + [JsonProperty("even_weeks")] + public EvenWeeks? EvenWeeks { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Errors/APIException.cs b/src/Apideck/Unify/SDK/Models/Errors/APIException.cs new file mode 100644 index 00000000..988af0d5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Errors/APIException.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Errors +{ + using System; + using System.Net.Http; + + public class APIException : Exception + { + + public override string Message { get; } + public HttpRequestMessage Request { get; set; } + public HttpResponseMessage Response { get; set; } + public APIException(string message, HttpRequestMessage request, HttpResponseMessage response) + { + Message = message; + Request = request; + Response = response; + } + + public override string ToString(){ + return Message + ": Status " + Response.StatusCode; + } + + } +} diff --git a/src/Apideck/Unify/SDK/Models/Errors/BadRequestResponse.cs b/src/Apideck/Unify/SDK/Models/Errors/BadRequestResponse.cs new file mode 100644 index 00000000..b7b8d1a7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Errors/BadRequestResponse.cs @@ -0,0 +1,61 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Errors +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Bad Request + /// + public class BadRequestResponse : Exception + { + + /// + /// HTTP status code + /// + [JsonProperty("status_code")] + public double? StatusCode { get; set; } + + /// + /// Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231) + /// + [JsonProperty("error")] + public string? Error { get; set; } + + /// + /// The type of error returned + /// + [JsonProperty("type_name")] + public string? TypeName { get; set; } + + /// + /// A human-readable message providing more details about the error. + /// + [JsonProperty("message")] + private string? _message { get; set; } + public override string Message { get {return _message ?? "";} } + + /// + /// Contains parameter or domain specific information related to the error and why it occurred. + /// + [JsonProperty("detail")] + public Models.Errors.Detail? Detail { get; set; } + + /// + /// Link to documentation of error type + /// + [JsonProperty("ref")] + public string? Ref { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Errors/Detail.cs b/src/Apideck/Unify/SDK/Models/Errors/Detail.cs new file mode 100644 index 00000000..fd619e9f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Errors/Detail.cs @@ -0,0 +1,192 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Errors +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json.Linq; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Numerics; + using System.Reflection; + using System; + + + public class DetailType + { + private DetailType(string value) { Value = value; } + + public string Value { get; private set; } + public static DetailType Str { get { return new DetailType("str"); } } + + public static DetailType MapOfAny { get { return new DetailType("mapOfAny"); } } + + public static DetailType Null { get { return new DetailType("null"); } } + + public override string ToString() { return Value; } + public static implicit operator String(DetailType v) { return v.Value; } + public static DetailType FromString(string v) { + switch(v) { + case "str": return Str; + case "mapOfAny": return MapOfAny; + case "null": return Null; + default: throw new ArgumentException("Invalid value for DetailType"); + } + } + public override bool Equals(object? obj) + { + if (obj == null || GetType() != obj.GetType()) + { + return false; + } + return Value.Equals(((DetailType)obj).Value); + } + + public override int GetHashCode() + { + return Value.GetHashCode(); + } + } + + + /// + /// Contains parameter or domain specific information related to the error and why it occurred. + /// + [JsonConverter(typeof(Detail.DetailConverter))] + public class Detail { + public Detail(DetailType type) { + Type = type; + } + + [SpeakeasyMetadata("form:explode=true")] + public string? Str { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public Dictionary? MapOfAny { get; set; } + + public DetailType Type { get; set; } + + + public static Detail CreateStr(string str) { + DetailType typ = DetailType.Str; + + Detail res = new Detail(typ); + res.Str = str; + return res; + } + + public static Detail CreateMapOfAny(Dictionary mapOfAny) { + DetailType typ = DetailType.MapOfAny; + + Detail res = new Detail(typ); + res.MapOfAny = mapOfAny; + return res; + } + + public static Detail CreateNull() { + DetailType typ = DetailType.Null; + return new Detail(typ); + } + + public class DetailConverter : JsonConverter + { + + public override bool CanConvert(System.Type objectType) => objectType == typeof(Detail); + + public override bool CanRead => true; + + public override object? ReadJson(JsonReader reader, System.Type objectType, object? existingValue, JsonSerializer serializer) + { + var json = JRaw.Create(reader).ToString(); + if (json == "null") + { + return null; + } + + var fallbackCandidates = new List<(System.Type, object, string)>(); + + if (json[0] == '"' && json[^1] == '"'){ + return new Detail(DetailType.Str) + { + Str = json[1..^1] + }; + } + + try + { + return new Detail(DetailType.MapOfAny) + { + MapOfAny = ResponseBodyDeserializer.DeserializeUndiscriminatedUnionMember>(json) + }; + } + catch (ResponseBodyDeserializer.MissingMemberException) + { + fallbackCandidates.Add((typeof(Dictionary), new Detail(DetailType.MapOfAny), "MapOfAny")); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next option + } + catch (Exception) + { + throw; + } + + if (fallbackCandidates.Count > 0) + { + fallbackCandidates.Sort((a, b) => ResponseBodyDeserializer.CompareFallbackCandidates(a.Item1, b.Item1, json)); + foreach(var (deserializationType, returnObject, propertyName) in fallbackCandidates) + { + try + { + return ResponseBodyDeserializer.DeserializeUndiscriminatedUnionFallback(deserializationType, returnObject, propertyName, json); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next fallback option + } + catch (Exception) + { + throw; + } + } + } + + throw new InvalidOperationException("Could not deserialize into any supported types."); + } + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + if (value == null) { + writer.WriteRawValue("null"); + return; + } + Detail res = (Detail)value; + if (DetailType.FromString(res.Type).Equals(DetailType.Null)) + { + writer.WriteRawValue("null"); + return; + } + if (res.Str != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Str)); + return; + } + if (res.MapOfAny != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.MapOfAny)); + return; + } + + } + + } + + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Errors/NotFoundResponse.cs b/src/Apideck/Unify/SDK/Models/Errors/NotFoundResponse.cs new file mode 100644 index 00000000..43aaf119 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Errors/NotFoundResponse.cs @@ -0,0 +1,61 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Errors +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The specified resource was not found + /// + public class NotFoundResponse : Exception + { + + /// + /// HTTP status code + /// + [JsonProperty("status_code")] + public double? StatusCode { get; set; } + + /// + /// Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231) + /// + [JsonProperty("error")] + public string? Error { get; set; } + + /// + /// The type of error returned + /// + [JsonProperty("type_name")] + public string? TypeName { get; set; } + + /// + /// A human-readable message providing more details about the error. + /// + [JsonProperty("message")] + private string? _message { get; set; } + public override string Message { get {return _message ?? "";} } + + /// + /// Contains parameter or domain specific information related to the error and why it occurred. + /// + [JsonProperty("detail")] + public NotFoundResponseDetail? Detail { get; set; } + + /// + /// Link to documentation of error type + /// + [JsonProperty("ref")] + public string? Ref { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Errors/NotFoundResponseDetail.cs b/src/Apideck/Unify/SDK/Models/Errors/NotFoundResponseDetail.cs new file mode 100644 index 00000000..728f71d2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Errors/NotFoundResponseDetail.cs @@ -0,0 +1,192 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Errors +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json.Linq; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Numerics; + using System.Reflection; + using System; + + + public class NotFoundResponseDetailType + { + private NotFoundResponseDetailType(string value) { Value = value; } + + public string Value { get; private set; } + public static NotFoundResponseDetailType Str { get { return new NotFoundResponseDetailType("str"); } } + + public static NotFoundResponseDetailType MapOfAny { get { return new NotFoundResponseDetailType("mapOfAny"); } } + + public static NotFoundResponseDetailType Null { get { return new NotFoundResponseDetailType("null"); } } + + public override string ToString() { return Value; } + public static implicit operator String(NotFoundResponseDetailType v) { return v.Value; } + public static NotFoundResponseDetailType FromString(string v) { + switch(v) { + case "str": return Str; + case "mapOfAny": return MapOfAny; + case "null": return Null; + default: throw new ArgumentException("Invalid value for NotFoundResponseDetailType"); + } + } + public override bool Equals(object? obj) + { + if (obj == null || GetType() != obj.GetType()) + { + return false; + } + return Value.Equals(((NotFoundResponseDetailType)obj).Value); + } + + public override int GetHashCode() + { + return Value.GetHashCode(); + } + } + + + /// + /// Contains parameter or domain specific information related to the error and why it occurred. + /// + [JsonConverter(typeof(NotFoundResponseDetail.NotFoundResponseDetailConverter))] + public class NotFoundResponseDetail { + public NotFoundResponseDetail(NotFoundResponseDetailType type) { + Type = type; + } + + [SpeakeasyMetadata("form:explode=true")] + public string? Str { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public Dictionary? MapOfAny { get; set; } + + public NotFoundResponseDetailType Type { get; set; } + + + public static NotFoundResponseDetail CreateStr(string str) { + NotFoundResponseDetailType typ = NotFoundResponseDetailType.Str; + + NotFoundResponseDetail res = new NotFoundResponseDetail(typ); + res.Str = str; + return res; + } + + public static NotFoundResponseDetail CreateMapOfAny(Dictionary mapOfAny) { + NotFoundResponseDetailType typ = NotFoundResponseDetailType.MapOfAny; + + NotFoundResponseDetail res = new NotFoundResponseDetail(typ); + res.MapOfAny = mapOfAny; + return res; + } + + public static NotFoundResponseDetail CreateNull() { + NotFoundResponseDetailType typ = NotFoundResponseDetailType.Null; + return new NotFoundResponseDetail(typ); + } + + public class NotFoundResponseDetailConverter : JsonConverter + { + + public override bool CanConvert(System.Type objectType) => objectType == typeof(NotFoundResponseDetail); + + public override bool CanRead => true; + + public override object? ReadJson(JsonReader reader, System.Type objectType, object? existingValue, JsonSerializer serializer) + { + var json = JRaw.Create(reader).ToString(); + if (json == "null") + { + return null; + } + + var fallbackCandidates = new List<(System.Type, object, string)>(); + + if (json[0] == '"' && json[^1] == '"'){ + return new NotFoundResponseDetail(NotFoundResponseDetailType.Str) + { + Str = json[1..^1] + }; + } + + try + { + return new NotFoundResponseDetail(NotFoundResponseDetailType.MapOfAny) + { + MapOfAny = ResponseBodyDeserializer.DeserializeUndiscriminatedUnionMember>(json) + }; + } + catch (ResponseBodyDeserializer.MissingMemberException) + { + fallbackCandidates.Add((typeof(Dictionary), new NotFoundResponseDetail(NotFoundResponseDetailType.MapOfAny), "MapOfAny")); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next option + } + catch (Exception) + { + throw; + } + + if (fallbackCandidates.Count > 0) + { + fallbackCandidates.Sort((a, b) => ResponseBodyDeserializer.CompareFallbackCandidates(a.Item1, b.Item1, json)); + foreach(var (deserializationType, returnObject, propertyName) in fallbackCandidates) + { + try + { + return ResponseBodyDeserializer.DeserializeUndiscriminatedUnionFallback(deserializationType, returnObject, propertyName, json); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next fallback option + } + catch (Exception) + { + throw; + } + } + } + + throw new InvalidOperationException("Could not deserialize into any supported types."); + } + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + if (value == null) { + writer.WriteRawValue("null"); + return; + } + NotFoundResponseDetail res = (NotFoundResponseDetail)value; + if (NotFoundResponseDetailType.FromString(res.Type).Equals(NotFoundResponseDetailType.Null)) + { + writer.WriteRawValue("null"); + return; + } + if (res.Str != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Str)); + return; + } + if (res.MapOfAny != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.MapOfAny)); + return; + } + + } + + } + + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Errors/PaymentRequiredResponse.cs b/src/Apideck/Unify/SDK/Models/Errors/PaymentRequiredResponse.cs new file mode 100644 index 00000000..00ebb6f2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Errors/PaymentRequiredResponse.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Errors +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Payment Required + /// + public class PaymentRequiredResponse : Exception + { + + /// + /// HTTP status code + /// + [JsonProperty("status_code")] + public double? StatusCode { get; set; } + + /// + /// Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231) + /// + [JsonProperty("error")] + public string? Error { get; set; } + + /// + /// The type of error returned + /// + [JsonProperty("type_name")] + public string? TypeName { get; set; } + + /// + /// A human-readable message providing more details about the error. + /// + [JsonProperty("message")] + private string? _message { get; set; } + public override string Message { get {return _message ?? "";} } + + /// + /// Contains parameter or domain specific information related to the error and why it occurred. + /// + [JsonProperty("detail")] + public string? Detail { get; set; } + + /// + /// Link to documentation of error type + /// + [JsonProperty("ref")] + public string? Ref { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Errors/UnauthorizedResponse.cs b/src/Apideck/Unify/SDK/Models/Errors/UnauthorizedResponse.cs new file mode 100644 index 00000000..01c054c8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Errors/UnauthorizedResponse.cs @@ -0,0 +1,61 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Errors +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Unauthorized + /// + public class UnauthorizedResponse : Exception + { + + /// + /// HTTP status code + /// + [JsonProperty("status_code")] + public double? StatusCode { get; set; } + + /// + /// Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231) + /// + [JsonProperty("error")] + public string? Error { get; set; } + + /// + /// The type of error returned + /// + [JsonProperty("type_name")] + public string? TypeName { get; set; } + + /// + /// A human-readable message providing more details about the error. + /// + [JsonProperty("message")] + private string? _message { get; set; } + public override string Message { get {return _message ?? "";} } + + /// + /// Contains parameter or domain specific information related to the error and why it occurred. + /// + [JsonProperty("detail")] + public UnauthorizedResponseDetail? Detail { get; set; } + + /// + /// Link to documentation of error type + /// + [JsonProperty("ref")] + public string? Ref { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Errors/UnauthorizedResponseDetail.cs b/src/Apideck/Unify/SDK/Models/Errors/UnauthorizedResponseDetail.cs new file mode 100644 index 00000000..c3cc1a1d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Errors/UnauthorizedResponseDetail.cs @@ -0,0 +1,192 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Errors +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json.Linq; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Numerics; + using System.Reflection; + using System; + + + public class UnauthorizedResponseDetailType + { + private UnauthorizedResponseDetailType(string value) { Value = value; } + + public string Value { get; private set; } + public static UnauthorizedResponseDetailType Str { get { return new UnauthorizedResponseDetailType("str"); } } + + public static UnauthorizedResponseDetailType MapOfAny { get { return new UnauthorizedResponseDetailType("mapOfAny"); } } + + public static UnauthorizedResponseDetailType Null { get { return new UnauthorizedResponseDetailType("null"); } } + + public override string ToString() { return Value; } + public static implicit operator String(UnauthorizedResponseDetailType v) { return v.Value; } + public static UnauthorizedResponseDetailType FromString(string v) { + switch(v) { + case "str": return Str; + case "mapOfAny": return MapOfAny; + case "null": return Null; + default: throw new ArgumentException("Invalid value for UnauthorizedResponseDetailType"); + } + } + public override bool Equals(object? obj) + { + if (obj == null || GetType() != obj.GetType()) + { + return false; + } + return Value.Equals(((UnauthorizedResponseDetailType)obj).Value); + } + + public override int GetHashCode() + { + return Value.GetHashCode(); + } + } + + + /// + /// Contains parameter or domain specific information related to the error and why it occurred. + /// + [JsonConverter(typeof(UnauthorizedResponseDetail.UnauthorizedResponseDetailConverter))] + public class UnauthorizedResponseDetail { + public UnauthorizedResponseDetail(UnauthorizedResponseDetailType type) { + Type = type; + } + + [SpeakeasyMetadata("form:explode=true")] + public string? Str { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public Dictionary? MapOfAny { get; set; } + + public UnauthorizedResponseDetailType Type { get; set; } + + + public static UnauthorizedResponseDetail CreateStr(string str) { + UnauthorizedResponseDetailType typ = UnauthorizedResponseDetailType.Str; + + UnauthorizedResponseDetail res = new UnauthorizedResponseDetail(typ); + res.Str = str; + return res; + } + + public static UnauthorizedResponseDetail CreateMapOfAny(Dictionary mapOfAny) { + UnauthorizedResponseDetailType typ = UnauthorizedResponseDetailType.MapOfAny; + + UnauthorizedResponseDetail res = new UnauthorizedResponseDetail(typ); + res.MapOfAny = mapOfAny; + return res; + } + + public static UnauthorizedResponseDetail CreateNull() { + UnauthorizedResponseDetailType typ = UnauthorizedResponseDetailType.Null; + return new UnauthorizedResponseDetail(typ); + } + + public class UnauthorizedResponseDetailConverter : JsonConverter + { + + public override bool CanConvert(System.Type objectType) => objectType == typeof(UnauthorizedResponseDetail); + + public override bool CanRead => true; + + public override object? ReadJson(JsonReader reader, System.Type objectType, object? existingValue, JsonSerializer serializer) + { + var json = JRaw.Create(reader).ToString(); + if (json == "null") + { + return null; + } + + var fallbackCandidates = new List<(System.Type, object, string)>(); + + if (json[0] == '"' && json[^1] == '"'){ + return new UnauthorizedResponseDetail(UnauthorizedResponseDetailType.Str) + { + Str = json[1..^1] + }; + } + + try + { + return new UnauthorizedResponseDetail(UnauthorizedResponseDetailType.MapOfAny) + { + MapOfAny = ResponseBodyDeserializer.DeserializeUndiscriminatedUnionMember>(json) + }; + } + catch (ResponseBodyDeserializer.MissingMemberException) + { + fallbackCandidates.Add((typeof(Dictionary), new UnauthorizedResponseDetail(UnauthorizedResponseDetailType.MapOfAny), "MapOfAny")); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next option + } + catch (Exception) + { + throw; + } + + if (fallbackCandidates.Count > 0) + { + fallbackCandidates.Sort((a, b) => ResponseBodyDeserializer.CompareFallbackCandidates(a.Item1, b.Item1, json)); + foreach(var (deserializationType, returnObject, propertyName) in fallbackCandidates) + { + try + { + return ResponseBodyDeserializer.DeserializeUndiscriminatedUnionFallback(deserializationType, returnObject, propertyName, json); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next fallback option + } + catch (Exception) + { + throw; + } + } + } + + throw new InvalidOperationException("Could not deserialize into any supported types."); + } + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + if (value == null) { + writer.WriteRawValue("null"); + return; + } + UnauthorizedResponseDetail res = (UnauthorizedResponseDetail)value; + if (UnauthorizedResponseDetailType.FromString(res.Type).Equals(UnauthorizedResponseDetailType.Null)) + { + writer.WriteRawValue("null"); + return; + } + if (res.Str != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Str)); + return; + } + if (res.MapOfAny != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.MapOfAny)); + return; + } + + } + + } + + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Errors/UnprocessableResponse.cs b/src/Apideck/Unify/SDK/Models/Errors/UnprocessableResponse.cs new file mode 100644 index 00000000..e9da6ceb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Errors/UnprocessableResponse.cs @@ -0,0 +1,61 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Errors +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Unprocessable + /// + public class UnprocessableResponse : Exception + { + + /// + /// HTTP status code + /// + [JsonProperty("status_code")] + public double? StatusCode { get; set; } + + /// + /// Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231) + /// + [JsonProperty("error")] + public string? Error { get; set; } + + /// + /// The type of error returned + /// + [JsonProperty("type_name")] + public string? TypeName { get; set; } + + /// + /// A human-readable message providing more details about the error. + /// + [JsonProperty("message")] + private string? _message { get; set; } + public override string Message { get {return _message ?? "";} } + + /// + /// Contains parameter or domain specific information related to the error and why it occurred. + /// + [JsonProperty("detail")] + public UnprocessableResponseDetail? Detail { get; set; } + + /// + /// Link to documentation of error type + /// + [JsonProperty("ref")] + public string? Ref { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Errors/UnprocessableResponseDetail.cs b/src/Apideck/Unify/SDK/Models/Errors/UnprocessableResponseDetail.cs new file mode 100644 index 00000000..140e0e0c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Errors/UnprocessableResponseDetail.cs @@ -0,0 +1,192 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Errors +{ + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json.Linq; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Numerics; + using System.Reflection; + using System; + + + public class UnprocessableResponseDetailType + { + private UnprocessableResponseDetailType(string value) { Value = value; } + + public string Value { get; private set; } + public static UnprocessableResponseDetailType Str { get { return new UnprocessableResponseDetailType("str"); } } + + public static UnprocessableResponseDetailType MapOfAny { get { return new UnprocessableResponseDetailType("mapOfAny"); } } + + public static UnprocessableResponseDetailType Null { get { return new UnprocessableResponseDetailType("null"); } } + + public override string ToString() { return Value; } + public static implicit operator String(UnprocessableResponseDetailType v) { return v.Value; } + public static UnprocessableResponseDetailType FromString(string v) { + switch(v) { + case "str": return Str; + case "mapOfAny": return MapOfAny; + case "null": return Null; + default: throw new ArgumentException("Invalid value for UnprocessableResponseDetailType"); + } + } + public override bool Equals(object? obj) + { + if (obj == null || GetType() != obj.GetType()) + { + return false; + } + return Value.Equals(((UnprocessableResponseDetailType)obj).Value); + } + + public override int GetHashCode() + { + return Value.GetHashCode(); + } + } + + + /// + /// Contains parameter or domain specific information related to the error and why it occurred. + /// + [JsonConverter(typeof(UnprocessableResponseDetail.UnprocessableResponseDetailConverter))] + public class UnprocessableResponseDetail { + public UnprocessableResponseDetail(UnprocessableResponseDetailType type) { + Type = type; + } + + [SpeakeasyMetadata("form:explode=true")] + public string? Str { get; set; } + + [SpeakeasyMetadata("form:explode=true")] + public Dictionary? MapOfAny { get; set; } + + public UnprocessableResponseDetailType Type { get; set; } + + + public static UnprocessableResponseDetail CreateStr(string str) { + UnprocessableResponseDetailType typ = UnprocessableResponseDetailType.Str; + + UnprocessableResponseDetail res = new UnprocessableResponseDetail(typ); + res.Str = str; + return res; + } + + public static UnprocessableResponseDetail CreateMapOfAny(Dictionary mapOfAny) { + UnprocessableResponseDetailType typ = UnprocessableResponseDetailType.MapOfAny; + + UnprocessableResponseDetail res = new UnprocessableResponseDetail(typ); + res.MapOfAny = mapOfAny; + return res; + } + + public static UnprocessableResponseDetail CreateNull() { + UnprocessableResponseDetailType typ = UnprocessableResponseDetailType.Null; + return new UnprocessableResponseDetail(typ); + } + + public class UnprocessableResponseDetailConverter : JsonConverter + { + + public override bool CanConvert(System.Type objectType) => objectType == typeof(UnprocessableResponseDetail); + + public override bool CanRead => true; + + public override object? ReadJson(JsonReader reader, System.Type objectType, object? existingValue, JsonSerializer serializer) + { + var json = JRaw.Create(reader).ToString(); + if (json == "null") + { + return null; + } + + var fallbackCandidates = new List<(System.Type, object, string)>(); + + if (json[0] == '"' && json[^1] == '"'){ + return new UnprocessableResponseDetail(UnprocessableResponseDetailType.Str) + { + Str = json[1..^1] + }; + } + + try + { + return new UnprocessableResponseDetail(UnprocessableResponseDetailType.MapOfAny) + { + MapOfAny = ResponseBodyDeserializer.DeserializeUndiscriminatedUnionMember>(json) + }; + } + catch (ResponseBodyDeserializer.MissingMemberException) + { + fallbackCandidates.Add((typeof(Dictionary), new UnprocessableResponseDetail(UnprocessableResponseDetailType.MapOfAny), "MapOfAny")); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next option + } + catch (Exception) + { + throw; + } + + if (fallbackCandidates.Count > 0) + { + fallbackCandidates.Sort((a, b) => ResponseBodyDeserializer.CompareFallbackCandidates(a.Item1, b.Item1, json)); + foreach(var (deserializationType, returnObject, propertyName) in fallbackCandidates) + { + try + { + return ResponseBodyDeserializer.DeserializeUndiscriminatedUnionFallback(deserializationType, returnObject, propertyName, json); + } + catch (ResponseBodyDeserializer.DeserializationException) + { + // try next fallback option + } + catch (Exception) + { + throw; + } + } + } + + throw new InvalidOperationException("Could not deserialize into any supported types."); + } + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + if (value == null) { + writer.WriteRawValue("null"); + return; + } + UnprocessableResponseDetail res = (UnprocessableResponseDetail)value; + if (UnprocessableResponseDetailType.FromString(res.Type).Equals(UnprocessableResponseDetailType.Null)) + { + writer.WriteRawValue("null"); + return; + } + if (res.Str != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.Str)); + return; + } + if (res.MapOfAny != null) + { + writer.WriteRawValue(Utilities.SerializeJSON(res.MapOfAny)); + return; + } + + } + + } + + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsAllRequest.cs new file mode 100644 index 00000000..d0734e1f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsAllRequest.cs @@ -0,0 +1,72 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingAttachmentsAllRequest + { + + /// + /// The reference type of the document. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=reference_type")] + public AttachmentReferenceType ReferenceType { get; set; } = default!; + + /// + /// The reference id of the object to retrieve. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=reference_id")] + public string ReferenceId { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsAllResponse.cs new file mode 100644 index 00000000..bfb7d5b6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingAttachmentsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Attachments + /// + public GetAttachmentsResponse? GetAttachmentsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDeleteRequest.cs new file mode 100644 index 00000000..b5d2610a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDeleteRequest.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingAttachmentsDeleteRequest + { + + /// + /// The reference type of the document. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=reference_type")] + public AttachmentReferenceType ReferenceType { get; set; } = default!; + + /// + /// The reference id of the object to retrieve. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=reference_id")] + public string ReferenceId { get; set; } = default!; + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDeleteResponse.cs new file mode 100644 index 00000000..5a941f72 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingAttachmentsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Attachments + /// + public DeleteAttachmentResponse? DeleteAttachmentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDownloadRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDownloadRequest.cs new file mode 100644 index 00000000..d2d86de0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDownloadRequest.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingAttachmentsDownloadRequest + { + + /// + /// The reference type of the document. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=reference_type")] + public AttachmentReferenceType ReferenceType { get; set; } = default!; + + /// + /// The reference id of the object to retrieve. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=reference_id")] + public string ReferenceId { get; set; } = default!; + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDownloadResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDownloadResponse.cs new file mode 100644 index 00000000..f10c02ae --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsDownloadResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingAttachmentsDownloadResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Attachment Download + /// + public byte[]? GetAttachmentDownloadResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsOneRequest.cs new file mode 100644 index 00000000..ebbbe415 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsOneRequest.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingAttachmentsOneRequest + { + + /// + /// The reference type of the document. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=reference_type")] + public AttachmentReferenceType ReferenceType { get; set; } = default!; + + /// + /// The reference id of the object to retrieve. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=reference_id")] + public string ReferenceId { get; set; } = default!; + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsOneResponse.cs new file mode 100644 index 00000000..0c804d5d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingAttachmentsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingAttachmentsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Attachments + /// + public GetAttachmentResponse? GetAttachmentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBalanceSheetOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBalanceSheetOneRequest.cs new file mode 100644 index 00000000..7fd1e6d6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBalanceSheetOneRequest.cs @@ -0,0 +1,55 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AccountingBalanceSheetOneRequest + { + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public BalanceSheetFilter? Filter { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBalanceSheetOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBalanceSheetOneResponse.cs new file mode 100644 index 00000000..fc41121e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBalanceSheetOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingBalanceSheetOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// BalanceSheet + /// + public GetBalanceSheetResponse? GetBalanceSheetResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAddRequest.cs new file mode 100644 index 00000000..306593f9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingBillPaymentsAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public BillPaymentInput BillPayment { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAddResponse.cs new file mode 100644 index 00000000..4d2dc17e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingBillPaymentsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Bill Payment created + /// + public CreateBillPaymentResponse? CreateBillPaymentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAllRequest.cs new file mode 100644 index 00000000..63d96eb6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AccountingBillPaymentsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public PaymentsFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public PaymentsSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAllResponse.cs new file mode 100644 index 00000000..0da176ad --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingBillPaymentsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Bill Payments + /// + public GetBillPaymentsResponse? GetBillPaymentsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsDeleteRequest.cs new file mode 100644 index 00000000..34899dec --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingBillPaymentsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsDeleteResponse.cs new file mode 100644 index 00000000..d38a6a70 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingBillPaymentsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Bill Payment deleted + /// + public DeleteBillPaymentResponse? DeleteBillPaymentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsOneRequest.cs new file mode 100644 index 00000000..73c99caa --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingBillPaymentsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsOneResponse.cs new file mode 100644 index 00000000..1da4f3e2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingBillPaymentsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Bill Payment + /// + public GetBillPaymentResponse? GetBillPaymentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsUpdateRequest.cs new file mode 100644 index 00000000..95b96c72 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingBillPaymentsUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public BillPaymentInput BillPayment { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsUpdateResponse.cs new file mode 100644 index 00000000..6cee4998 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillPaymentsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingBillPaymentsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Bill Payment updated + /// + public UpdateBillPaymentResponse? UpdateBillPaymentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAddRequest.cs new file mode 100644 index 00000000..f62507f8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingBillsAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public BillInput Bill { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAddResponse.cs new file mode 100644 index 00000000..77fd54f1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingBillsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Bill created + /// + public CreateBillResponse? CreateBillResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAllRequest.cs new file mode 100644 index 00000000..71598197 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AccountingBillsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public BillsFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public BillsSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAllResponse.cs new file mode 100644 index 00000000..812df090 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingBillsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Bills + /// + public GetBillsResponse? GetBillsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsDeleteRequest.cs new file mode 100644 index 00000000..01b0271f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingBillsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsDeleteResponse.cs new file mode 100644 index 00000000..fb31392b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingBillsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Bill deleted + /// + public DeleteBillResponse? DeleteBillResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsOneRequest.cs new file mode 100644 index 00000000..fe52aa8b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingBillsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsOneResponse.cs new file mode 100644 index 00000000..4bde4aaa --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingBillsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Bill + /// + public GetBillResponse? GetBillResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsUpdateRequest.cs new file mode 100644 index 00000000..a5569848 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingBillsUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public BillInput Bill { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsUpdateResponse.cs new file mode 100644 index 00000000..0725535b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingBillsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingBillsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Bill Updated + /// + public UpdateBillResponse? UpdateBillResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCompanyInfoOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCompanyInfoOneRequest.cs new file mode 100644 index 00000000..e767e30a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCompanyInfoOneRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingCompanyInfoOneRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCompanyInfoOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCompanyInfoOneResponse.cs new file mode 100644 index 00000000..5beb70fb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCompanyInfoOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingCompanyInfoOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// CompanyInfo + /// + public GetCompanyInfoResponse? GetCompanyInfoResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAddRequest.cs new file mode 100644 index 00000000..01feaf06 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingCreditNotesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public CreditNoteInput CreditNote { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAddResponse.cs new file mode 100644 index 00000000..827537d6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingCreditNotesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Credit Note created + /// + public CreateCreditNoteResponse? CreateCreditNoteResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAllRequest.cs new file mode 100644 index 00000000..2455af19 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AccountingCreditNotesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public CreditNotesFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public CreditNotesSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAllResponse.cs new file mode 100644 index 00000000..68199004 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingCreditNotesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Credit Notes + /// + public GetCreditNotesResponse? GetCreditNotesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesDeleteRequest.cs new file mode 100644 index 00000000..8efbed8e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingCreditNotesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesDeleteResponse.cs new file mode 100644 index 00000000..fb20ef1f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingCreditNotesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Credit Note deleted + /// + public DeleteCreditNoteResponse? DeleteCreditNoteResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesOneRequest.cs new file mode 100644 index 00000000..121cb36b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingCreditNotesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesOneResponse.cs new file mode 100644 index 00000000..f013c284 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingCreditNotesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Credit Note + /// + public GetCreditNoteResponse? GetCreditNoteResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesUpdateRequest.cs new file mode 100644 index 00000000..768851ae --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingCreditNotesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public CreditNoteInput CreditNote { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesUpdateResponse.cs new file mode 100644 index 00000000..eb5e6bf0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCreditNotesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingCreditNotesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Credit Note updated + /// + public UpdateCreditNoteResponse? UpdateCreditNoteResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAddRequest.cs new file mode 100644 index 00000000..e524331a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingCustomersAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public CustomerInput Customer { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAddResponse.cs new file mode 100644 index 00000000..d95ae7d7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingCustomersAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Customers + /// + public CreateCustomerResponse? CreateCustomerResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAllRequest.cs new file mode 100644 index 00000000..c98af5c3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AccountingCustomersAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public CustomersFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public CustomersSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAllResponse.cs new file mode 100644 index 00000000..5a583c7f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingCustomersAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Customers + /// + public GetCustomersResponse? GetCustomersResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersDeleteRequest.cs new file mode 100644 index 00000000..5ee6f203 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingCustomersDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersDeleteResponse.cs new file mode 100644 index 00000000..09975a7b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingCustomersDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Customers + /// + public DeleteCustomerResponse? DeleteCustomerResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersOneRequest.cs new file mode 100644 index 00000000..867344f0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingCustomersOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersOneResponse.cs new file mode 100644 index 00000000..3212bfab --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingCustomersOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Customer + /// + public GetCustomerResponse? GetCustomerResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersUpdateRequest.cs new file mode 100644 index 00000000..c56844fb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingCustomersUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public CustomerInput Customer { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersUpdateResponse.cs new file mode 100644 index 00000000..2bde5056 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingCustomersUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingCustomersUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Customers + /// + public UpdateCustomerResponse? UpdateCustomerResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAddRequest.cs new file mode 100644 index 00000000..0c3c6700 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingDepartmentsAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public AccountingDepartmentInput AccountingDepartment { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAddResponse.cs new file mode 100644 index 00000000..4508bbae --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingDepartmentsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Department + /// + public CreateAccountingDepartmentResponse? CreateAccountingDepartmentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAllRequest.cs new file mode 100644 index 00000000..8b76baad --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAllRequest.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingDepartmentsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public AccountingDepartmentsFilter? Filter { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAllResponse.cs new file mode 100644 index 00000000..a3e6f90f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingDepartmentsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Departments + /// + public GetAccountingDepartmentsResponse? GetAccountingDepartmentsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsDeleteRequest.cs new file mode 100644 index 00000000..34557351 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingDepartmentsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsDeleteResponse.cs new file mode 100644 index 00000000..84553e94 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingDepartmentsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Department deleted + /// + public DeleteAccountingDepartmentResponse? DeleteAccountingDepartmentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsOneRequest.cs new file mode 100644 index 00000000..39efcd78 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingDepartmentsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsOneResponse.cs new file mode 100644 index 00000000..b367435c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingDepartmentsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Location + /// + public GetAccountingDepartmentResponse? GetAccountingDepartmentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsUpdateRequest.cs new file mode 100644 index 00000000..bc230556 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingDepartmentsUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public AccountingDepartmentInput AccountingDepartment { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsUpdateResponse.cs new file mode 100644 index 00000000..6b9c4e8f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingDepartmentsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingDepartmentsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Department + /// + public UpdateAccountingDepartmentResponse? UpdateAccountingDepartmentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAddRequest.cs new file mode 100644 index 00000000..db2fdaa7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingExpensesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public ExpenseInput Expense { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAddResponse.cs new file mode 100644 index 00000000..069cc637 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingExpensesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Expenses + /// + public CreateExpenseResponse? CreateExpenseResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAllRequest.cs new file mode 100644 index 00000000..ad8e3e7d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAllRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingExpensesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAllResponse.cs new file mode 100644 index 00000000..5da896a5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingExpensesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Expenses + /// + public GetExpensesResponse? GetExpensesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesDeleteRequest.cs new file mode 100644 index 00000000..dfcf235f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingExpensesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesDeleteResponse.cs new file mode 100644 index 00000000..19c12c45 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingExpensesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Expenses + /// + public DeleteExpenseResponse? DeleteExpenseResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesOneRequest.cs new file mode 100644 index 00000000..b8fd9baf --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesOneRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingExpensesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesOneResponse.cs new file mode 100644 index 00000000..98a9f26a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingExpensesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Expenses + /// + public GetExpenseResponse? GetExpenseResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesUpdateRequest.cs new file mode 100644 index 00000000..2b66506c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingExpensesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public ExpenseInput Expense { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesUpdateResponse.cs new file mode 100644 index 00000000..9d63dca9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingExpensesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingExpensesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Expenses + /// + public UpdateExpenseResponse? UpdateExpenseResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAddRequest.cs new file mode 100644 index 00000000..3eb84e51 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingInvoiceItemsAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public InvoiceItemInput InvoiceItem { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAddResponse.cs new file mode 100644 index 00000000..e0262111 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingInvoiceItemsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// InvoiceItems + /// + public CreateInvoiceItemResponse? CreateInvoiceItemResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAllRequest.cs new file mode 100644 index 00000000..bc71d805 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAllRequest.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AccountingInvoiceItemsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public InvoiceItemsFilter? Filter { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAllResponse.cs new file mode 100644 index 00000000..e0ee1c0c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingInvoiceItemsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// InvoiceItems + /// + public GetInvoiceItemsResponse? GetInvoiceItemsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsDeleteRequest.cs new file mode 100644 index 00000000..458e1c35 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingInvoiceItemsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsDeleteResponse.cs new file mode 100644 index 00000000..97f6022c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingInvoiceItemsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// InvoiceItems + /// + public DeleteTaxRateResponse? DeleteTaxRateResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsOneRequest.cs new file mode 100644 index 00000000..c9716896 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsOneRequest.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingInvoiceItemsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public InvoiceItemFilter? Filter { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsOneResponse.cs new file mode 100644 index 00000000..ac6f756b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingInvoiceItemsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// InvoiceItems + /// + public GetInvoiceItemResponse? GetInvoiceItemResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsUpdateRequest.cs new file mode 100644 index 00000000..f8e20829 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingInvoiceItemsUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public InvoiceItemInput InvoiceItem { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsUpdateResponse.cs new file mode 100644 index 00000000..446869a6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoiceItemsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingInvoiceItemsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// InvoiceItems + /// + public UpdateInvoiceItemsResponse? UpdateInvoiceItemsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAddRequest.cs new file mode 100644 index 00000000..b53f9ebb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingInvoicesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public InvoiceInput Invoice { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAddResponse.cs new file mode 100644 index 00000000..1f534139 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingInvoicesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Invoice created + /// + public CreateInvoiceResponse? CreateInvoiceResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAllRequest.cs new file mode 100644 index 00000000..eb993999 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AccountingInvoicesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public InvoicesFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public InvoicesSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAllResponse.cs new file mode 100644 index 00000000..970c1188 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingInvoicesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Invoices + /// + public GetInvoicesResponse? GetInvoicesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesDeleteRequest.cs new file mode 100644 index 00000000..14dc0637 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingInvoicesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesDeleteResponse.cs new file mode 100644 index 00000000..38621cdf --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingInvoicesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Invoice deleted + /// + public DeleteInvoiceResponse? DeleteInvoiceResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesOneRequest.cs new file mode 100644 index 00000000..76f7ad86 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingInvoicesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesOneResponse.cs new file mode 100644 index 00000000..4ae73cdb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingInvoicesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Invoice + /// + public GetInvoiceResponse? GetInvoiceResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesUpdateRequest.cs new file mode 100644 index 00000000..377be644 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingInvoicesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public InvoiceInput Invoice { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesUpdateResponse.cs new file mode 100644 index 00000000..5d268906 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingInvoicesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingInvoicesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Invoice updated + /// + public UpdateInvoiceResponse? UpdateInvoiceResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAddRequest.cs new file mode 100644 index 00000000..095270c4 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingJournalEntriesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public JournalEntryInput JournalEntry { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAddResponse.cs new file mode 100644 index 00000000..73a407c7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingJournalEntriesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// JournalEntries + /// + public CreateJournalEntryResponse? CreateJournalEntryResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAllRequest.cs new file mode 100644 index 00000000..adc322df --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AccountingJournalEntriesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public JournalEntriesFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public JournalEntriesSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAllResponse.cs new file mode 100644 index 00000000..ba4e32c3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingJournalEntriesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// JournalEntry + /// + public GetJournalEntriesResponse? GetJournalEntriesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesDeleteRequest.cs new file mode 100644 index 00000000..06de75c2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingJournalEntriesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesDeleteResponse.cs new file mode 100644 index 00000000..41297ede --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingJournalEntriesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// JournalEntries + /// + public DeleteJournalEntryResponse? DeleteJournalEntryResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesOneRequest.cs new file mode 100644 index 00000000..88ebf2fe --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingJournalEntriesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesOneResponse.cs new file mode 100644 index 00000000..00be6a38 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingJournalEntriesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// JournalEntries + /// + public GetJournalEntryResponse? GetJournalEntryResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesUpdateRequest.cs new file mode 100644 index 00000000..2b914bae --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingJournalEntriesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public JournalEntryInput JournalEntry { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesUpdateResponse.cs new file mode 100644 index 00000000..7a1819df --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingJournalEntriesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingJournalEntriesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// JournalEntries + /// + public UpdateJournalEntryResponse? UpdateJournalEntryResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAddRequest.cs new file mode 100644 index 00000000..9be99a66 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingLedgerAccountsAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public LedgerAccountInput LedgerAccount { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAddResponse.cs new file mode 100644 index 00000000..c5fb246d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingLedgerAccountsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// LedgerAccount created + /// + public CreateLedgerAccountResponse? CreateLedgerAccountResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAllRequest.cs new file mode 100644 index 00000000..029785fa --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AccountingLedgerAccountsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public LedgerAccountsFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public LedgerAccountsSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAllResponse.cs new file mode 100644 index 00000000..a3d053dc --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingLedgerAccountsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// LedgerAccounts + /// + public GetLedgerAccountsResponse? GetLedgerAccountsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsDeleteRequest.cs new file mode 100644 index 00000000..68869cbb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingLedgerAccountsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsDeleteResponse.cs new file mode 100644 index 00000000..7b8caf6d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingLedgerAccountsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// LedgerAccount deleted + /// + public DeleteLedgerAccountResponse? DeleteLedgerAccountResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsOneRequest.cs new file mode 100644 index 00000000..adc25738 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingLedgerAccountsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsOneResponse.cs new file mode 100644 index 00000000..b4b27b0b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingLedgerAccountsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// LedgerAccount + /// + public GetLedgerAccountResponse? GetLedgerAccountResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsUpdateRequest.cs new file mode 100644 index 00000000..f52b055a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingLedgerAccountsUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public LedgerAccountInput LedgerAccount { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsUpdateResponse.cs new file mode 100644 index 00000000..d5ebf1f0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLedgerAccountsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingLedgerAccountsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// LedgerAccount updated + /// + public UpdateLedgerAccountResponse? UpdateLedgerAccountResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAddRequest.cs new file mode 100644 index 00000000..4d86bf12 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingLocationsAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public AccountingLocationInput AccountingLocation { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAddResponse.cs new file mode 100644 index 00000000..fe71246c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingLocationsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Location + /// + public CreateAccountingLocationResponse? CreateAccountingLocationResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAllRequest.cs new file mode 100644 index 00000000..15c4be17 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAllRequest.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingLocationsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public AccountingLocationsFilter? Filter { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAllResponse.cs new file mode 100644 index 00000000..648d7ee9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingLocationsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Locations + /// + public GetAccountingLocationsResponse? GetAccountingLocationsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsDeleteRequest.cs new file mode 100644 index 00000000..6681b0d8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingLocationsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsDeleteResponse.cs new file mode 100644 index 00000000..11cd19c7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingLocationsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Location deleted + /// + public DeleteAccountingLocationResponse? DeleteAccountingLocationResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsOneRequest.cs new file mode 100644 index 00000000..8b9692d3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingLocationsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsOneResponse.cs new file mode 100644 index 00000000..64bfe94e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingLocationsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Location + /// + public GetAccountingLocationResponse? GetAccountingLocationResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsUpdateRequest.cs new file mode 100644 index 00000000..273c55a2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingLocationsUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public AccountingLocationInput AccountingLocation { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsUpdateResponse.cs new file mode 100644 index 00000000..cdd4d2a0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingLocationsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingLocationsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Location + /// + public UpdateAccountingLocationResponse? UpdateAccountingLocationResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAddRequest.cs new file mode 100644 index 00000000..8bd880a5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingPaymentsAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public PaymentInput Payment { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAddResponse.cs new file mode 100644 index 00000000..76da3e45 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingPaymentsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Payment created + /// + public CreatePaymentResponse? CreatePaymentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAllRequest.cs new file mode 100644 index 00000000..9cc6e4ce --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AccountingPaymentsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public PaymentsFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public PaymentsSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAllResponse.cs new file mode 100644 index 00000000..0199a0d5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingPaymentsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Payments + /// + public GetPaymentsResponse? GetPaymentsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsDeleteRequest.cs new file mode 100644 index 00000000..5be2abd9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingPaymentsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsDeleteResponse.cs new file mode 100644 index 00000000..4fa36435 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingPaymentsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Payment deleted + /// + public DeletePaymentResponse? DeletePaymentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsOneRequest.cs new file mode 100644 index 00000000..ebd1b477 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingPaymentsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsOneResponse.cs new file mode 100644 index 00000000..466a2296 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingPaymentsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Payment + /// + public GetPaymentResponse? GetPaymentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsUpdateRequest.cs new file mode 100644 index 00000000..db8e0592 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingPaymentsUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public PaymentInput Payment { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsUpdateResponse.cs new file mode 100644 index 00000000..087a3944 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPaymentsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingPaymentsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Payment Updated + /// + public UpdatePaymentResponse? UpdatePaymentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingProfitAndLossOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingProfitAndLossOneRequest.cs new file mode 100644 index 00000000..2bf40f75 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingProfitAndLossOneRequest.cs @@ -0,0 +1,61 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AccountingProfitAndLossOneRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public ProfitAndLossFilter? Filter { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingProfitAndLossOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingProfitAndLossOneResponse.cs new file mode 100644 index 00000000..46470365 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingProfitAndLossOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingProfitAndLossOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Profit & Loss Report + /// + public GetProfitAndLossResponse? GetProfitAndLossResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAddRequest.cs new file mode 100644 index 00000000..4f002fbf --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingPurchaseOrdersAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public PurchaseOrderInput PurchaseOrder { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAddResponse.cs new file mode 100644 index 00000000..d06b7b51 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingPurchaseOrdersAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// PurchaseOrders + /// + public CreatePurchaseOrderResponse? CreatePurchaseOrderResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAllRequest.cs new file mode 100644 index 00000000..13bbba80 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAllRequest.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AccountingPurchaseOrdersAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public PurchaseOrdersFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public PurchaseOrdersSort? Sort { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAllResponse.cs new file mode 100644 index 00000000..7c1283b9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingPurchaseOrdersAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// PurchaseOrders + /// + public GetPurchaseOrdersResponse? GetPurchaseOrdersResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersDeleteRequest.cs new file mode 100644 index 00000000..cf454318 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingPurchaseOrdersDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersDeleteResponse.cs new file mode 100644 index 00000000..23264f1e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingPurchaseOrdersDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// PurchaseOrders + /// + public DeletePurchaseOrderResponse? DeletePurchaseOrderResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersOneRequest.cs new file mode 100644 index 00000000..9954a483 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersOneRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingPurchaseOrdersOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersOneResponse.cs new file mode 100644 index 00000000..df47a591 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingPurchaseOrdersOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// PurchaseOrders + /// + public GetPurchaseOrderResponse? GetPurchaseOrderResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersUpdateRequest.cs new file mode 100644 index 00000000..28990b23 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingPurchaseOrdersUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public PurchaseOrderInput PurchaseOrder { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersUpdateResponse.cs new file mode 100644 index 00000000..8b451aa1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingPurchaseOrdersUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingPurchaseOrdersUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// PurchaseOrders + /// + public UpdatePurchaseOrderResponse? UpdatePurchaseOrderResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAddRequest.cs new file mode 100644 index 00000000..aacd75e7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingSubsidiariesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public SubsidiaryInput Subsidiary { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAddResponse.cs new file mode 100644 index 00000000..cbb1aacd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingSubsidiariesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Subsidiaries + /// + public CreateSubsidiaryResponse? CreateSubsidiaryResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAllRequest.cs new file mode 100644 index 00000000..d7bb67c7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAllRequest.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingSubsidiariesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAllResponse.cs new file mode 100644 index 00000000..b75a364c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingSubsidiariesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Subsidiaries + /// + public GetSubsidiariesResponse? GetSubsidiariesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesDeleteRequest.cs new file mode 100644 index 00000000..1d05d0bf --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingSubsidiariesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesDeleteResponse.cs new file mode 100644 index 00000000..7d4639b9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingSubsidiariesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Subsidiarys + /// + public DeleteSubsidiaryResponse? DeleteSubsidiaryResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesOneRequest.cs new file mode 100644 index 00000000..e311f683 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingSubsidiariesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesOneResponse.cs new file mode 100644 index 00000000..a056c2eb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingSubsidiariesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Subsidiary + /// + public GetSubsidiaryResponse? GetSubsidiaryResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesUpdateRequest.cs new file mode 100644 index 00000000..75d122bb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingSubsidiariesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public SubsidiaryInput Subsidiary { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesUpdateResponse.cs new file mode 100644 index 00000000..1693d3e6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSubsidiariesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingSubsidiariesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Subsidiaries + /// + public UpdateSubsidiaryResponse? UpdateSubsidiaryResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAddRequest.cs new file mode 100644 index 00000000..58d2d50f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingSuppliersAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public SupplierInput Supplier { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAddResponse.cs new file mode 100644 index 00000000..3f960762 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingSuppliersAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Supplier created + /// + public CreateSupplierResponse? CreateSupplierResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAllRequest.cs new file mode 100644 index 00000000..73df6831 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AccountingSuppliersAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public SuppliersFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public SuppliersSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAllResponse.cs new file mode 100644 index 00000000..0854ce0c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingSuppliersAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Suppliers + /// + public GetSuppliersResponse? GetSuppliersResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersDeleteRequest.cs new file mode 100644 index 00000000..a32c8ace --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingSuppliersDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersDeleteResponse.cs new file mode 100644 index 00000000..67b73010 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingSuppliersDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Supplier deleted + /// + public DeleteSupplierResponse? DeleteSupplierResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersOneRequest.cs new file mode 100644 index 00000000..bbdb507d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingSuppliersOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersOneResponse.cs new file mode 100644 index 00000000..62ddbdd9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingSuppliersOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Supplier + /// + public GetSupplierResponse? GetSupplierResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersUpdateRequest.cs new file mode 100644 index 00000000..ebb56c8b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingSuppliersUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public SupplierInput Supplier { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersUpdateResponse.cs new file mode 100644 index 00000000..37c69e2e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingSuppliersUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingSuppliersUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Supplier updated + /// + public UpdateSupplierResponse? UpdateSupplierResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAddRequest.cs new file mode 100644 index 00000000..ea0ab74a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingTaxRatesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public TaxRateInput TaxRate { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAddResponse.cs new file mode 100644 index 00000000..f77fcf3a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingTaxRatesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// TaxRate created + /// + public CreateTaxRateResponse? CreateTaxRateResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAllRequest.cs new file mode 100644 index 00000000..37258147 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAllRequest.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AccountingTaxRatesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public TaxRatesFilter? Filter { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAllResponse.cs new file mode 100644 index 00000000..948d7238 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingTaxRatesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// TaxRates + /// + public GetTaxRatesResponse? GetTaxRatesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesDeleteRequest.cs new file mode 100644 index 00000000..9b5f9fe5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingTaxRatesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesDeleteResponse.cs new file mode 100644 index 00000000..fd4c45f9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingTaxRatesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// TaxRates deleted + /// + public DeleteTaxRateResponse? DeleteTaxRateResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesOneRequest.cs new file mode 100644 index 00000000..dcf4b881 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingTaxRatesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesOneResponse.cs new file mode 100644 index 00000000..a5db294a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingTaxRatesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// TaxRate + /// + public GetTaxRateResponse? GetTaxRateResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesUpdateRequest.cs new file mode 100644 index 00000000..f6a13633 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingTaxRatesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public TaxRateInput TaxRate { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesUpdateResponse.cs new file mode 100644 index 00000000..6ac27a0e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTaxRatesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingTaxRatesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// TaxRate updated + /// + public UpdateTaxRateResponse? UpdateTaxRateResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAddRequest.cs new file mode 100644 index 00000000..1c01d72d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingTrackingCategoriesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public TrackingCategoryInput TrackingCategory { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAddResponse.cs new file mode 100644 index 00000000..9e609e2b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingTrackingCategoriesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Tracking category created + /// + public CreateTrackingCategoryResponse? CreateTrackingCategoryResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAllRequest.cs new file mode 100644 index 00000000..7d3ca006 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAllRequest.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AccountingTrackingCategoriesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAllResponse.cs new file mode 100644 index 00000000..53cbc27b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingTrackingCategoriesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Tracking categories + /// + public GetTrackingCategoriesResponse? GetTrackingCategoriesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesDeleteRequest.cs new file mode 100644 index 00000000..43cd1d35 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingTrackingCategoriesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesDeleteResponse.cs new file mode 100644 index 00000000..4f241665 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingTrackingCategoriesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Tracking category deleted + /// + public DeleteTrackingCategoryResponse? DeleteTrackingCategoryResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesOneRequest.cs new file mode 100644 index 00000000..f54f9295 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AccountingTrackingCategoriesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesOneResponse.cs new file mode 100644 index 00000000..55918ffe --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingTrackingCategoriesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Tracking category + /// + public GetTrackingCategoryResponse? GetTrackingCategoryResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesUpdateRequest.cs new file mode 100644 index 00000000..16bc9a13 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AccountingTrackingCategoriesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public TrackingCategoryInput TrackingCategory { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesUpdateResponse.cs new file mode 100644 index 00000000..9bf2df72 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AccountingTrackingCategoriesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AccountingTrackingCategoriesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Tracking category updated + /// + public UpdateTrackingCategoryResponse? UpdateTrackingCategoryResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAddRequest.cs new file mode 100644 index 00000000..73bde330 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AtsApplicantsAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public ApplicantInput Applicant { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAddResponse.cs new file mode 100644 index 00000000..85da6568 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AtsApplicantsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Applicants + /// + public CreateApplicantResponse? CreateApplicantResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAllRequest.cs new file mode 100644 index 00000000..cc7824fd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAllRequest.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AtsApplicantsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public ApplicantsFilter? Filter { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAllResponse.cs new file mode 100644 index 00000000..f38fac2b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AtsApplicantsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Applicants + /// + public GetApplicantsResponse? GetApplicantsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsDeleteRequest.cs new file mode 100644 index 00000000..a6ce24a0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AtsApplicantsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsDeleteResponse.cs new file mode 100644 index 00000000..e083802a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AtsApplicantsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Applicants + /// + public DeleteApplicantResponse? DeleteApplicantResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsOneRequest.cs new file mode 100644 index 00000000..65a95173 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AtsApplicantsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsOneResponse.cs new file mode 100644 index 00000000..5e9f4691 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AtsApplicantsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Applicants + /// + public GetApplicantResponse? GetApplicantResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsUpdateRequest.cs new file mode 100644 index 00000000..1a61652c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AtsApplicantsUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public ApplicantInput Applicant { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsUpdateResponse.cs new file mode 100644 index 00000000..81650463 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicantsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AtsApplicantsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Applicants + /// + public UpdateApplicantResponse? UpdateApplicantResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAddRequest.cs new file mode 100644 index 00000000..ef2cb0a9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AtsApplicationsAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public ApplicationInput Application { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAddResponse.cs new file mode 100644 index 00000000..5b48993c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AtsApplicationsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Applications + /// + public CreateApplicationResponse? CreateApplicationResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAllRequest.cs new file mode 100644 index 00000000..65c3616e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAllRequest.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AtsApplicationsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAllResponse.cs new file mode 100644 index 00000000..2aafaf4f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AtsApplicationsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Applications + /// + public GetApplicationsResponse? GetApplicationsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsDeleteRequest.cs new file mode 100644 index 00000000..35b90b49 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AtsApplicationsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsDeleteResponse.cs new file mode 100644 index 00000000..f0dcd6a8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AtsApplicationsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Applications + /// + public DeleteApplicationResponse? DeleteApplicationResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsOneRequest.cs new file mode 100644 index 00000000..0be0b935 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsOneRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AtsApplicationsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsOneResponse.cs new file mode 100644 index 00000000..7116161d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AtsApplicationsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Applications + /// + public GetApplicationResponse? GetApplicationResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsUpdateRequest.cs new file mode 100644 index 00000000..49fd4906 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class AtsApplicationsUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public ApplicationInput Application { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsUpdateResponse.cs new file mode 100644 index 00000000..ebcf593d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsApplicationsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AtsApplicationsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Applications + /// + public UpdateApplicationResponse? UpdateApplicationResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsJobsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsJobsAllRequest.cs new file mode 100644 index 00000000..9a752adf --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsJobsAllRequest.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class AtsJobsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsJobsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsJobsAllResponse.cs new file mode 100644 index 00000000..2f5d0840 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsJobsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AtsJobsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Jobs + /// + public GetJobsResponse? GetJobsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsJobsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsJobsOneRequest.cs new file mode 100644 index 00000000..398a1ecd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsJobsOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class AtsJobsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/AtsJobsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/AtsJobsOneResponse.cs new file mode 100644 index 00000000..2080e5b0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/AtsJobsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class AtsJobsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Jobs + /// + public GetJobResponse? GetJobResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourceCoverageOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourceCoverageOneRequest.cs new file mode 100644 index 00000000..93fd74e9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourceCoverageOneRequest.cs @@ -0,0 +1,35 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class ConnectorApiResourceCoverageOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the resource you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=resource_id")] + public string ResourceId { get; set; } = default!; + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourceCoverageOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourceCoverageOneResponse.cs new file mode 100644 index 00000000..4f84ad4e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourceCoverageOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ConnectorApiResourceCoverageOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// ApiResources + /// + public GetApiResourceCoverageResponse? GetApiResourceCoverageResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourcesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourcesOneRequest.cs new file mode 100644 index 00000000..efaf87aa --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourcesOneRequest.cs @@ -0,0 +1,35 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class ConnectorApiResourcesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the resource you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=resource_id")] + public string ResourceId { get; set; } = default!; + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourcesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourcesOneResponse.cs new file mode 100644 index 00000000..3c034fc0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApiResourcesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ConnectorApiResourcesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// ApiResources + /// + public GetApiResourceResponse? GetApiResourceResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorApisAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApisAllRequest.cs new file mode 100644 index 00000000..2fd4c3b6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApisAllRequest.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class ConnectorApisAllRequest + { + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public ApisFilter? Filter { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorApisAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApisAllResponse.cs new file mode 100644 index 00000000..b8a9dcdb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApisAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ConnectorApisAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Apis + /// + public GetApisResponse? GetApisResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorApisOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApisOneRequest.cs new file mode 100644 index 00000000..292ad960 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApisOneRequest.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class ConnectorApisOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorApisOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApisOneResponse.cs new file mode 100644 index 00000000..6789bcc5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorApisOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ConnectorApisOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Apis + /// + public GetApiResponse? GetApiResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorDocsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorDocsOneRequest.cs new file mode 100644 index 00000000..89e1f612 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorDocsOneRequest.cs @@ -0,0 +1,35 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class ConnectorConnectorDocsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the Doc + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=doc_id")] + public string DocId { get; set; } = default!; + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorDocsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorDocsOneResponse.cs new file mode 100644 index 00000000..3db4cd1e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorDocsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ConnectorConnectorDocsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Connectors + /// + public string? GetConnectorDocResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorResourcesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorResourcesOneRequest.cs new file mode 100644 index 00000000..879fd713 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorResourcesOneRequest.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class ConnectorConnectorResourcesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the resource you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=resource_id")] + public string ResourceId { get; set; } = default!; + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Specify unified API for the connector resource. This is useful when a resource appears in multiple APIs + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=unified_api")] + public UnifiedApiId? UnifiedApi { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorResourcesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorResourcesOneResponse.cs new file mode 100644 index 00000000..e0fe0203 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorResourcesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ConnectorConnectorResourcesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// ConnectorResources + /// + public GetConnectorResourceResponse? GetConnectorResourceResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsAllRequest.cs new file mode 100644 index 00000000..d6045d85 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsAllRequest.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class ConnectorConnectorsAllRequest + { + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public ConnectorsFilter? Filter { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsAllResponse.cs new file mode 100644 index 00000000..b45e2d88 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ConnectorConnectorsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Connectors + /// + public GetConnectorsResponse? GetConnectorsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsOneRequest.cs new file mode 100644 index 00000000..ca34cd9e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsOneRequest.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class ConnectorConnectorsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsOneResponse.cs new file mode 100644 index 00000000..1fb4f394 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/ConnectorConnectorsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class ConnectorConnectorsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Connectors + /// + public GetConnectorResponse? GetConnectorResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAddRequest.cs new file mode 100644 index 00000000..7c237f81 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmActivitiesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public ActivityInput Activity { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAddResponse.cs new file mode 100644 index 00000000..0e4ddb89 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmActivitiesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Activity created + /// + public CreateActivityResponse? CreateActivityResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAllRequest.cs new file mode 100644 index 00000000..e1e8598b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class CrmActivitiesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public ActivitiesFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public ActivitiesSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAllResponse.cs new file mode 100644 index 00000000..cad56253 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmActivitiesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Activities + /// + public GetActivitiesResponse? GetActivitiesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesDeleteRequest.cs new file mode 100644 index 00000000..2cd7eedd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class CrmActivitiesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesDeleteResponse.cs new file mode 100644 index 00000000..cdc4775d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmActivitiesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Activity deleted + /// + public DeleteActivityResponse? DeleteActivityResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesOneRequest.cs new file mode 100644 index 00000000..83ffcb0f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class CrmActivitiesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesOneResponse.cs new file mode 100644 index 00000000..290b9557 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmActivitiesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Activity + /// + public GetActivityResponse? GetActivityResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesUpdateRequest.cs new file mode 100644 index 00000000..12fe6118 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmActivitiesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public ActivityInput Activity { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesUpdateResponse.cs new file mode 100644 index 00000000..7145d261 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmActivitiesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmActivitiesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Activity updated + /// + public UpdateActivityResponse? UpdateActivityResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAddRequest.cs new file mode 100644 index 00000000..21df9ddf --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmCompaniesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public CompanyInput Company { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAddResponse.cs new file mode 100644 index 00000000..c58f9f18 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmCompaniesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Company created + /// + public CreateCompanyResponse? CreateCompanyResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAllRequest.cs new file mode 100644 index 00000000..cee0b5c6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class CrmCompaniesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public CompaniesFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public CompaniesSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAllResponse.cs new file mode 100644 index 00000000..9ce8c138 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmCompaniesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Companies + /// + public GetCompaniesResponse? GetCompaniesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesDeleteRequest.cs new file mode 100644 index 00000000..b4e67716 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class CrmCompaniesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesDeleteResponse.cs new file mode 100644 index 00000000..f629e29b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmCompaniesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Company deleted + /// + public DeleteCompanyResponse? DeleteCompanyResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesOneRequest.cs new file mode 100644 index 00000000..f07201ef --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class CrmCompaniesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesOneResponse.cs new file mode 100644 index 00000000..32ebea22 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmCompaniesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Company + /// + public GetCompanyResponse? GetCompanyResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesUpdateRequest.cs new file mode 100644 index 00000000..7929e163 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmCompaniesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public CompanyInput Company { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesUpdateResponse.cs new file mode 100644 index 00000000..2e0c15cb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmCompaniesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmCompaniesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Company updated + /// + public UpdateCompanyResponse? UpdateCompanyResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmContactsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsAddRequest.cs new file mode 100644 index 00000000..1cc9f140 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmContactsAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public ContactInput Contact { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmContactsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsAddResponse.cs new file mode 100644 index 00000000..777b8384 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmContactsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Contact created + /// + public CreateContactResponse? CreateContactResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmContactsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsAllRequest.cs new file mode 100644 index 00000000..0037254a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class CrmContactsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public ContactsFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public ContactsSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmContactsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsAllResponse.cs new file mode 100644 index 00000000..a6ddde02 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmContactsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Contacts + /// + public GetContactsResponse? GetContactsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmContactsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsDeleteRequest.cs new file mode 100644 index 00000000..31a2335c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class CrmContactsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmContactsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsDeleteResponse.cs new file mode 100644 index 00000000..4fdb79cd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmContactsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Contact deleted + /// + public DeleteContactResponse? DeleteContactResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmContactsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsOneRequest.cs new file mode 100644 index 00000000..0259c88b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsOneRequest.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmContactsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public ContactsFilter? Filter { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmContactsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsOneResponse.cs new file mode 100644 index 00000000..d8d00e18 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmContactsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Contact + /// + public GetContactResponse? GetContactResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmContactsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsUpdateRequest.cs new file mode 100644 index 00000000..e75db9a6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmContactsUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public ContactInput Contact { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmContactsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsUpdateResponse.cs new file mode 100644 index 00000000..030f1202 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmContactsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmContactsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Contact updated + /// + public UpdateContactResponse? UpdateContactResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAddRequest.cs new file mode 100644 index 00000000..49758c33 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmLeadsAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public LeadInput Lead { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAddResponse.cs new file mode 100644 index 00000000..e421641a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmLeadsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Lead created + /// + public CreateLeadResponse? CreateLeadResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAllRequest.cs new file mode 100644 index 00000000..b457866d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class CrmLeadsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public LeadsFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public LeadsSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAllResponse.cs new file mode 100644 index 00000000..e792891b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmLeadsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Leads + /// + public GetLeadsResponse? GetLeadsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsDeleteRequest.cs new file mode 100644 index 00000000..9f4b52b7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class CrmLeadsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsDeleteResponse.cs new file mode 100644 index 00000000..e4df94f3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmLeadsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Lead deleted + /// + public DeleteLeadResponse? DeleteLeadResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsOneRequest.cs new file mode 100644 index 00000000..04a127f7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class CrmLeadsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsOneResponse.cs new file mode 100644 index 00000000..fdfc16ac --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmLeadsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Lead + /// + public GetLeadResponse? GetLeadResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsUpdateRequest.cs new file mode 100644 index 00000000..b92c8445 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmLeadsUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public LeadInput Lead { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsUpdateResponse.cs new file mode 100644 index 00000000..835b776d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmLeadsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmLeadsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Lead updated + /// + public UpdateLeadResponse? UpdateLeadResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmNotesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesAddRequest.cs new file mode 100644 index 00000000..d768381f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmNotesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public NoteInput Note { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmNotesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesAddResponse.cs new file mode 100644 index 00000000..35bed7fe --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmNotesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Note created + /// + public CreateNoteResponse? CreateNoteResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmNotesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesAllRequest.cs new file mode 100644 index 00000000..d55b7402 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesAllRequest.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class CrmNotesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmNotesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesAllResponse.cs new file mode 100644 index 00000000..ec11348a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmNotesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Notes + /// + public GetNotesResponse? GetNotesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmNotesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesDeleteRequest.cs new file mode 100644 index 00000000..b714571e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class CrmNotesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmNotesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesDeleteResponse.cs new file mode 100644 index 00000000..2a775848 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmNotesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Note deleted + /// + public DeleteNoteResponse? DeleteNoteResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmNotesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesOneRequest.cs new file mode 100644 index 00000000..f895a9ff --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class CrmNotesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmNotesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesOneResponse.cs new file mode 100644 index 00000000..ccfc80a2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmNotesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Note + /// + public GetNoteResponse? GetNoteResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmNotesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesUpdateRequest.cs new file mode 100644 index 00000000..bea0bf39 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmNotesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public NoteInput Note { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmNotesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesUpdateResponse.cs new file mode 100644 index 00000000..dffdbf54 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmNotesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmNotesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Note updated + /// + public UpdateNoteResponse? UpdateNoteResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAddRequest.cs new file mode 100644 index 00000000..072097f5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmOpportunitiesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public OpportunityInput Opportunity { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAddResponse.cs new file mode 100644 index 00000000..c75d832d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmOpportunitiesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Opportunity created + /// + public CreateOpportunityResponse? CreateOpportunityResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAllRequest.cs new file mode 100644 index 00000000..b842601e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class CrmOpportunitiesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public OpportunitiesFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public OpportunitiesSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAllResponse.cs new file mode 100644 index 00000000..2b41ea3c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmOpportunitiesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Opportunities + /// + public GetOpportunitiesResponse? GetOpportunitiesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesDeleteRequest.cs new file mode 100644 index 00000000..557370fb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class CrmOpportunitiesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesDeleteResponse.cs new file mode 100644 index 00000000..0d3478aa --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmOpportunitiesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Opportunity deleted + /// + public DeleteOpportunityResponse? DeleteOpportunityResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesOneRequest.cs new file mode 100644 index 00000000..79da15c1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class CrmOpportunitiesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesOneResponse.cs new file mode 100644 index 00000000..7fb3aa0b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmOpportunitiesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Opportunity + /// + public GetOpportunityResponse? GetOpportunityResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesUpdateRequest.cs new file mode 100644 index 00000000..004fa31d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmOpportunitiesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public OpportunityInput Opportunity { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesUpdateResponse.cs new file mode 100644 index 00000000..3717094b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmOpportunitiesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmOpportunitiesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Opportunity updated + /// + public UpdateOpportunityResponse? UpdateOpportunityResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAddRequest.cs new file mode 100644 index 00000000..dfb0ba61 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmPipelinesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public PipelineInput Pipeline { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAddResponse.cs new file mode 100644 index 00000000..1fb35d5b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmPipelinesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Pipeline created + /// + public CreatePipelineResponse? CreatePipelineResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAllRequest.cs new file mode 100644 index 00000000..ccf68f88 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAllRequest.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class CrmPipelinesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAllResponse.cs new file mode 100644 index 00000000..20b58b78 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmPipelinesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Pipelines + /// + public GetPipelinesResponse? GetPipelinesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesDeleteRequest.cs new file mode 100644 index 00000000..05337955 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class CrmPipelinesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesDeleteResponse.cs new file mode 100644 index 00000000..58edafde --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmPipelinesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Pipeline deleted + /// + public DeletePipelineResponse? DeletePipelineResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesOneRequest.cs new file mode 100644 index 00000000..ff941d6b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class CrmPipelinesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesOneResponse.cs new file mode 100644 index 00000000..7dc401c1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmPipelinesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Pipeline + /// + public GetPipelineResponse? GetPipelineResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesUpdateRequest.cs new file mode 100644 index 00000000..c73feec2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmPipelinesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public PipelineInput Pipeline { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesUpdateResponse.cs new file mode 100644 index 00000000..2abc73db --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmPipelinesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmPipelinesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Pipeline updated + /// + public UpdatePipelineResponse? UpdatePipelineResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmUsersAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersAddRequest.cs new file mode 100644 index 00000000..d7ba662a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmUsersAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public UserInput User { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmUsersAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersAddResponse.cs new file mode 100644 index 00000000..03bce314 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmUsersAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// User created + /// + public CreateUserResponse? CreateUserResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmUsersAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersAllRequest.cs new file mode 100644 index 00000000..1cf23422 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersAllRequest.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class CrmUsersAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmUsersAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersAllResponse.cs new file mode 100644 index 00000000..5e4a6a92 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmUsersAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Users + /// + public GetUsersResponse? GetUsersResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmUsersDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersDeleteRequest.cs new file mode 100644 index 00000000..9e1e5ca0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class CrmUsersDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmUsersDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersDeleteResponse.cs new file mode 100644 index 00000000..dbd43fa8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmUsersDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// User deleted + /// + public DeleteUserResponse? DeleteUserResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmUsersOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersOneRequest.cs new file mode 100644 index 00000000..3ff806ce --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class CrmUsersOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmUsersOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersOneResponse.cs new file mode 100644 index 00000000..81a5e815 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmUsersOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// User + /// + public GetUserResponse? GetUserResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmUsersUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersUpdateRequest.cs new file mode 100644 index 00000000..18a48de4 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class CrmUsersUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public UserInput User { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/CrmUsersUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersUpdateResponse.cs new file mode 100644 index 00000000..169d9492 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/CrmUsersUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class CrmUsersUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// User updated + /// + public UpdateUserResponse? UpdateUserResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersAllRequest.cs new file mode 100644 index 00000000..66d49151 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersAllRequest.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class EcommerceCustomersAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public EcommerceCustomersFilter? Filter { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersAllResponse.cs new file mode 100644 index 00000000..fba015a1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class EcommerceCustomersAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Customers + /// + public GetEcommerceCustomersResponse? GetEcommerceCustomersResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersOneRequest.cs new file mode 100644 index 00000000..4aabbfc5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class EcommerceCustomersOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersOneResponse.cs new file mode 100644 index 00000000..ce5d88b2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/EcommerceCustomersOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class EcommerceCustomersOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Customers + /// + public GetEcommerceCustomerResponse? GetEcommerceCustomerResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersAllRequest.cs new file mode 100644 index 00000000..9e46b6d5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class EcommerceOrdersAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public EcommerceOrdersFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public OrdersSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersAllResponse.cs new file mode 100644 index 00000000..b8a176d5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class EcommerceOrdersAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Orders + /// + public GetEcommerceOrdersResponse? GetEcommerceOrdersResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersOneRequest.cs new file mode 100644 index 00000000..3691f444 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class EcommerceOrdersOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersOneResponse.cs new file mode 100644 index 00000000..7f685e7b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/EcommerceOrdersOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class EcommerceOrdersOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Orders + /// + public GetEcommerceOrderResponse? GetEcommerceOrderResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsAllRequest.cs new file mode 100644 index 00000000..c446411f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsAllRequest.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class EcommerceProductsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsAllResponse.cs new file mode 100644 index 00000000..e78278d3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class EcommerceProductsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Products + /// + public GetProductsResponse? GetProductsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsOneRequest.cs new file mode 100644 index 00000000..ab86aa2d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class EcommerceProductsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsOneResponse.cs new file mode 100644 index 00000000..23ba0c6a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/EcommerceProductsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class EcommerceProductsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Products + /// + public GetProductResponse? GetProductResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/EcommerceStoresOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/EcommerceStoresOneRequest.cs new file mode 100644 index 00000000..f8290020 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/EcommerceStoresOneRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class EcommerceStoresOneRequest + { + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/EcommerceStoresOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/EcommerceStoresOneResponse.cs new file mode 100644 index 00000000..44188bfc --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/EcommerceStoresOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class EcommerceStoresOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Stores + /// + public GetStoreResponse? GetStoreResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAddRequest.cs new file mode 100644 index 00000000..19ab5a57 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class FileStorageDriveGroupsAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public DriveGroupInput DriveGroup { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAddResponse.cs new file mode 100644 index 00000000..21a8be9d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageDriveGroupsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// DriveGroups + /// + public CreateDriveGroupResponse? CreateDriveGroupResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAllRequest.cs new file mode 100644 index 00000000..1eed3e00 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAllRequest.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class FileStorageDriveGroupsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public DriveGroupsFilter? Filter { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAllResponse.cs new file mode 100644 index 00000000..2babb3f3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageDriveGroupsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// DriveGroups + /// + public GetDriveGroupsResponse? GetDriveGroupsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsDeleteRequest.cs new file mode 100644 index 00000000..242404eb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class FileStorageDriveGroupsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsDeleteResponse.cs new file mode 100644 index 00000000..f4dee172 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageDriveGroupsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// DriveGroups + /// + public DeleteDriveGroupResponse? DeleteDriveGroupResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsOneRequest.cs new file mode 100644 index 00000000..a0bbec14 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class FileStorageDriveGroupsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsOneResponse.cs new file mode 100644 index 00000000..d25186f7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageDriveGroupsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// DriveGroups + /// + public GetDriveGroupResponse? GetDriveGroupResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsUpdateRequest.cs new file mode 100644 index 00000000..1296edf3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class FileStorageDriveGroupsUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public DriveGroupInput DriveGroup { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsUpdateResponse.cs new file mode 100644 index 00000000..c0ff6c64 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDriveGroupsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageDriveGroupsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// DriveGroups + /// + public UpdateDriveGroupResponse? UpdateDriveGroupResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAddRequest.cs new file mode 100644 index 00000000..5f4dd4c9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class FileStorageDrivesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public DriveInput Drive { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAddResponse.cs new file mode 100644 index 00000000..225cbaa7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageDrivesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Drives + /// + public CreateDriveResponse? CreateDriveResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAllRequest.cs new file mode 100644 index 00000000..4169d696 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAllRequest.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class FileStorageDrivesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public DrivesFilter? Filter { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAllResponse.cs new file mode 100644 index 00000000..52991da8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageDrivesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Drives + /// + public GetDrivesResponse? GetDrivesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesDeleteRequest.cs new file mode 100644 index 00000000..891f7e2e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class FileStorageDrivesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesDeleteResponse.cs new file mode 100644 index 00000000..d01860b4 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageDrivesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Drives + /// + public DeleteDriveResponse? DeleteDriveResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesOneRequest.cs new file mode 100644 index 00000000..8f387fbf --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class FileStorageDrivesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesOneResponse.cs new file mode 100644 index 00000000..c6eb35db --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageDrivesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Drives + /// + public GetDriveResponse? GetDriveResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesUpdateRequest.cs new file mode 100644 index 00000000..f84057cb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class FileStorageDrivesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public DriveInput Drive { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesUpdateResponse.cs new file mode 100644 index 00000000..1c172f29 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageDrivesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageDrivesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Drives + /// + public UpdateDriveResponse? UpdateDriveResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesAllRequest.cs new file mode 100644 index 00000000..f400dc3f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class FileStorageFilesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public FilesFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public FilesSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesAllResponse.cs new file mode 100644 index 00000000..8009b71f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageFilesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Files + /// + public GetFilesResponse? GetFilesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDeleteRequest.cs new file mode 100644 index 00000000..194bcaf0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class FileStorageFilesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDeleteResponse.cs new file mode 100644 index 00000000..018c6321 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageFilesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Files + /// + public DeleteFileResponse? DeleteFileResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDownloadRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDownloadRequest.cs new file mode 100644 index 00000000..aba522e3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDownloadRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class FileStorageFilesDownloadRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDownloadResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDownloadResponse.cs new file mode 100644 index 00000000..d72fc615 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesDownloadResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageFilesDownloadResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// File Download + /// + public byte[]? GetFileDownloadResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesExportRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesExportRequest.cs new file mode 100644 index 00000000..f4e15f71 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesExportRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class FileStorageFilesExportRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// File format to export this file to. A list of available file formats for the current file is available as `export_formats` on the File resource. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=format")] + public string Format { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesExportResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesExportResponse.cs new file mode 100644 index 00000000..b22e51d3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesExportResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageFilesExportResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// File Download + /// + public byte[]? GetFileDownloadResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesOneRequest.cs new file mode 100644 index 00000000..b95c0440 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class FileStorageFilesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesOneResponse.cs new file mode 100644 index 00000000..72f6e76f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageFilesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// File + /// + public GetFileResponse? GetFileResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesSearchRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesSearchRequest.cs new file mode 100644 index 00000000..9ea93c49 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesSearchRequest.cs @@ -0,0 +1,70 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class FileStorageFilesSearchRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public FilesSearch FilesSearch { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public FilesFilter? Filter { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesSearchResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesSearchResponse.cs new file mode 100644 index 00000000..f0eaa7db --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesSearchResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageFilesSearchResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Files + /// + public GetFilesResponse? GetFilesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesUpdateRequest.cs new file mode 100644 index 00000000..0b3477c1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class FileStorageFilesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public UpdateFileRequest UpdateFileRequest { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesUpdateResponse.cs new file mode 100644 index 00000000..b90b6e94 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFilesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageFilesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Files + /// + public UpdateFileResponse? UpdateFileResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersAddRequest.cs new file mode 100644 index 00000000..49b00a42 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersAddRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class FileStorageFoldersAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public CreateFolderRequest CreateFolderRequest { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersAddResponse.cs new file mode 100644 index 00000000..eee38c4a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageFoldersAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Folders + /// + public CreateFolderResponse? CreateFolderResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersCopyRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersCopyRequest.cs new file mode 100644 index 00000000..c60ae486 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersCopyRequest.cs @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class FileStorageFoldersCopyRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public CopyFolderRequest CopyFolderRequest { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersCopyResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersCopyResponse.cs new file mode 100644 index 00000000..319505ab --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersCopyResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageFoldersCopyResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Folders + /// + public UpdateFolderResponse? UpdateFolderResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersDeleteRequest.cs new file mode 100644 index 00000000..f483e605 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class FileStorageFoldersDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersDeleteResponse.cs new file mode 100644 index 00000000..295bb43f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageFoldersDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Folders + /// + public DeleteFolderResponse? DeleteFolderResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersOneRequest.cs new file mode 100644 index 00000000..9eeb4f08 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class FileStorageFoldersOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersOneResponse.cs new file mode 100644 index 00000000..e64a80d0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageFoldersOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Folders + /// + public GetFolderResponse? GetFolderResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersUpdateRequest.cs new file mode 100644 index 00000000..3dd4c2a2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class FileStorageFoldersUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public UpdateFolderRequest UpdateFolderRequest { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersUpdateResponse.cs new file mode 100644 index 00000000..d2c156cb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageFoldersUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageFoldersUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Folders + /// + public UpdateFolderResponse? UpdateFolderResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAddRequest.cs new file mode 100644 index 00000000..ba94be18 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class FileStorageSharedLinksAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public SharedLinkInput SharedLink { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAddResponse.cs new file mode 100644 index 00000000..0b9cdf42 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageSharedLinksAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Shared Links + /// + public CreateSharedLinkResponse? CreateSharedLinkResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAllRequest.cs new file mode 100644 index 00000000..07503c10 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAllRequest.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class FileStorageSharedLinksAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAllResponse.cs new file mode 100644 index 00000000..64d35ad6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageSharedLinksAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Shared Links + /// + public GetSharedLinksResponse? GetSharedLinksResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksDeleteRequest.cs new file mode 100644 index 00000000..3f2bea62 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class FileStorageSharedLinksDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksDeleteResponse.cs new file mode 100644 index 00000000..8c8d70ab --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageSharedLinksDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Shared Links + /// + public DeleteSharedLinkResponse? DeleteSharedLinkResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksOneRequest.cs new file mode 100644 index 00000000..af72104c --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class FileStorageSharedLinksOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksOneResponse.cs new file mode 100644 index 00000000..f739dd49 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageSharedLinksOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Shared Link + /// + public GetSharedLinkResponse? GetSharedLinkResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksUpdateRequest.cs new file mode 100644 index 00000000..c0a599b4 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class FileStorageSharedLinksUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public SharedLinkInput SharedLink { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksUpdateResponse.cs new file mode 100644 index 00000000..ea697a5d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageSharedLinksUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageSharedLinksUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Shared Links + /// + public UpdateSharedLinkResponse? UpdateSharedLinkResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsAddRequest.cs new file mode 100644 index 00000000..b7d37e07 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class FileStorageUploadSessionsAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public CreateUploadSessionRequest CreateUploadSessionRequest { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsAddResponse.cs new file mode 100644 index 00000000..c86edc5d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageUploadSessionsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// UploadSessions + /// + public CreateUploadSessionResponse? CreateUploadSessionResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsDeleteRequest.cs new file mode 100644 index 00000000..58982b89 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class FileStorageUploadSessionsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsDeleteResponse.cs new file mode 100644 index 00000000..b216acd5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageUploadSessionsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// UploadSessions + /// + public DeleteUploadSessionResponse? DeleteUploadSessionResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsFinishRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsFinishRequest.cs new file mode 100644 index 00000000..3f18b3ee --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsFinishRequest.cs @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils; + + public class FileStorageUploadSessionsFinishRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// The RFC3230 message digest of the uploaded part. Only required for the Box connector. More information on the Box API docs here + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=digest")] + public string? Digest { get; set; } + + [SpeakeasyMetadata("request:mediaType=application/json")] + public FileStorageUploadSessionsFinishRequestBody? RequestBody { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsFinishRequestBody.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsFinishRequestBody.cs new file mode 100644 index 00000000..d27fde88 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsFinishRequestBody.cs @@ -0,0 +1,17 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class FileStorageUploadSessionsFinishRequestBody + { + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsFinishResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsFinishResponse.cs new file mode 100644 index 00000000..764ac398 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsFinishResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageUploadSessionsFinishResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// File + /// + public GetFileResponse? GetFileResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsOneRequest.cs new file mode 100644 index 00000000..b4e13d6d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class FileStorageUploadSessionsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsOneResponse.cs new file mode 100644 index 00000000..ad38318d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/FileStorageUploadSessionsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class FileStorageUploadSessionsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// UploadSessions + /// + public GetUploadSessionResponse? GetUploadSessionResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAddRequest.cs new file mode 100644 index 00000000..2f579421 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class HrisCompaniesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public HrisCompanyInput HrisCompany { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAddResponse.cs new file mode 100644 index 00000000..992ecbcc --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisCompaniesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Companies + /// + public CreateHrisCompanyResponse? CreateHrisCompanyResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAllRequest.cs new file mode 100644 index 00000000..570c4954 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAllRequest.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class HrisCompaniesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAllResponse.cs new file mode 100644 index 00000000..afa120d9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisCompaniesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Companies + /// + public GetHrisCompaniesResponse? GetHrisCompaniesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesDeleteRequest.cs new file mode 100644 index 00000000..f7d562d8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class HrisCompaniesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesDeleteResponse.cs new file mode 100644 index 00000000..7565d7bd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisCompaniesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Companies + /// + public DeleteHrisCompanyResponse? DeleteHrisCompanyResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesOneRequest.cs new file mode 100644 index 00000000..27d65e4a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class HrisCompaniesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesOneResponse.cs new file mode 100644 index 00000000..ed0ff37f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisCompaniesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Company + /// + public GetHrisCompanyResponse? GetHrisCompanyResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesUpdateRequest.cs new file mode 100644 index 00000000..ac67278a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class HrisCompaniesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public HrisCompanyInput HrisCompany { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesUpdateResponse.cs new file mode 100644 index 00000000..4b0c4156 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisCompaniesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisCompaniesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Companies + /// + public UpdateHrisCompanyResponse? UpdateHrisCompanyResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAddRequest.cs new file mode 100644 index 00000000..98cd2f3b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class HrisDepartmentsAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public DepartmentInput Department { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAddResponse.cs new file mode 100644 index 00000000..df9a30ef --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisDepartmentsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Departments + /// + public CreateDepartmentResponse? CreateDepartmentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAllRequest.cs new file mode 100644 index 00000000..2b3f0d88 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAllRequest.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class HrisDepartmentsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAllResponse.cs new file mode 100644 index 00000000..bd80c506 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisDepartmentsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Departments + /// + public GetDepartmentsResponse? GetDepartmentsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsDeleteRequest.cs new file mode 100644 index 00000000..72fc1c75 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class HrisDepartmentsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsDeleteResponse.cs new file mode 100644 index 00000000..a11d12d8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisDepartmentsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Departments + /// + public DeleteDepartmentResponse? DeleteDepartmentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsOneRequest.cs new file mode 100644 index 00000000..97f4f0ca --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class HrisDepartmentsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsOneResponse.cs new file mode 100644 index 00000000..39f20365 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisDepartmentsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Departments + /// + public GetDepartmentResponse? GetDepartmentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsUpdateRequest.cs new file mode 100644 index 00000000..2faac3f2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class HrisDepartmentsUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public DepartmentInput Department { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsUpdateResponse.cs new file mode 100644 index 00000000..db83983b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisDepartmentsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisDepartmentsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Departments + /// + public UpdateDepartmentResponse? UpdateDepartmentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsAllRequest.cs new file mode 100644 index 00000000..6e70e3b5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsAllRequest.cs @@ -0,0 +1,67 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class HrisEmployeePayrollsAllRequest + { + + /// + /// ID of the employee you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=employee_id")] + public string EmployeeId { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public PayrollsFilter? Filter { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsAllResponse.cs new file mode 100644 index 00000000..6ce3c870 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisEmployeePayrollsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// EmployeePayrolls + /// + public GetEmployeePayrollsResponse? GetEmployeePayrollsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsOneRequest.cs new file mode 100644 index 00000000..30547ad1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsOneRequest.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class HrisEmployeePayrollsOneRequest + { + + /// + /// ID of the payroll you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=payroll_id")] + public string PayrollId { get; set; } = default!; + + /// + /// ID of the employee you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=employee_id")] + public string EmployeeId { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsOneResponse.cs new file mode 100644 index 00000000..7803d0a6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeePayrollsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisEmployeePayrollsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Payrolls + /// + public GetEmployeePayrollResponse? GetEmployeePayrollResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeeSchedulesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeeSchedulesAllRequest.cs new file mode 100644 index 00000000..561c9708 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeeSchedulesAllRequest.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class HrisEmployeeSchedulesAllRequest + { + + /// + /// ID of the employee you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=employee_id")] + public string EmployeeId { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeeSchedulesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeeSchedulesAllResponse.cs new file mode 100644 index 00000000..9eb5c610 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeeSchedulesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisEmployeeSchedulesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// EmployeeSchedules + /// + public GetEmployeeSchedulesResponse? GetEmployeeSchedulesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAddRequest.cs new file mode 100644 index 00000000..9cb5ab18 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class HrisEmployeesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public EmployeeInput Employee { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAddResponse.cs new file mode 100644 index 00000000..480bbc7f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisEmployeesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Employees + /// + public CreateEmployeeResponse? CreateEmployeeResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAllRequest.cs new file mode 100644 index 00000000..b1ee97cf --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAllRequest.cs @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class HrisEmployeesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public EmployeesFilter? Filter { get; set; } + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public EmployeesSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAllResponse.cs new file mode 100644 index 00000000..a524c36f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisEmployeesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Employees + /// + public GetEmployeesResponse? GetEmployeesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesDeleteRequest.cs new file mode 100644 index 00000000..e35d16ed --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class HrisEmployeesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesDeleteResponse.cs new file mode 100644 index 00000000..5371f4a5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisEmployeesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Employees + /// + public DeleteEmployeeResponse? DeleteEmployeeResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesOneRequest.cs new file mode 100644 index 00000000..eef8735b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesOneRequest.cs @@ -0,0 +1,67 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class HrisEmployeesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public EmployeesOneFilter? Filter { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesOneResponse.cs new file mode 100644 index 00000000..807d55c8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisEmployeesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Employees + /// + public GetEmployeeResponse? GetEmployeeResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesUpdateRequest.cs new file mode 100644 index 00000000..c058b608 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class HrisEmployeesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public EmployeeInput Employee { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesUpdateResponse.cs new file mode 100644 index 00000000..0e9e6708 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisEmployeesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisEmployeesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Employees + /// + public UpdateEmployeeResponse? UpdateEmployeeResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsAllRequest.cs new file mode 100644 index 00000000..23713fb6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsAllRequest.cs @@ -0,0 +1,61 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class HrisPayrollsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public PayrollsFilter? Filter { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsAllResponse.cs new file mode 100644 index 00000000..8a378952 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisPayrollsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Payrolls + /// + public GetPayrollsResponse? GetPayrollsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsOneRequest.cs new file mode 100644 index 00000000..568f8845 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class HrisPayrollsOneRequest + { + + /// + /// ID of the payroll you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=payroll_id")] + public string PayrollId { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsOneResponse.cs new file mode 100644 index 00000000..d7519a45 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisPayrollsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisPayrollsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Payrolls + /// + public GetPayrollResponse? GetPayrollResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAddRequest.cs new file mode 100644 index 00000000..355b12a7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class HrisTimeOffRequestsAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public TimeOffRequestInput TimeOffRequest { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAddResponse.cs new file mode 100644 index 00000000..dd4d1fe0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisTimeOffRequestsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// TimeOffRequests + /// + public CreateTimeOffRequestResponse? CreateTimeOffRequestResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAllRequest.cs new file mode 100644 index 00000000..56221b55 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAllRequest.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class HrisTimeOffRequestsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public TimeOffRequestsFilter? Filter { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAllResponse.cs new file mode 100644 index 00000000..075ca43e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisTimeOffRequestsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// TimeOffRequests + /// + public GetTimeOffRequestsResponse? GetTimeOffRequestsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsDeleteRequest.cs new file mode 100644 index 00000000..0c18ed00 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsDeleteRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class HrisTimeOffRequestsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the employee you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=employee_id")] + public string EmployeeId { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsDeleteResponse.cs new file mode 100644 index 00000000..6524a9c0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisTimeOffRequestsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// TimeOffRequests + /// + public DeleteTimeOffRequestResponse? DeleteTimeOffRequestResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsOneRequest.cs new file mode 100644 index 00000000..07c6424d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsOneRequest.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class HrisTimeOffRequestsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the employee you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=employee_id")] + public string EmployeeId { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsOneResponse.cs new file mode 100644 index 00000000..e5f6b66e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisTimeOffRequestsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// TimeOffRequests + /// + public GetTimeOffRequestResponse? GetTimeOffRequestResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsUpdateRequest.cs new file mode 100644 index 00000000..d009deb7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsUpdateRequest.cs @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class HrisTimeOffRequestsUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the employee you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=employee_id")] + public string EmployeeId { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public TimeOffRequestInput TimeOffRequest { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsUpdateResponse.cs new file mode 100644 index 00000000..b3d5318e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/HrisTimeOffRequestsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class HrisTimeOffRequestsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// TimeOffRequests + /// + public UpdateTimeOffRequestResponse? UpdateTimeOffRequestResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTagsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTagsAllRequest.cs new file mode 100644 index 00000000..38d79008 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTagsAllRequest.cs @@ -0,0 +1,72 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class IssueTrackingCollectionTagsAllRequest + { + + /// + /// The collection ID + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=collection_id")] + public string CollectionId { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTagsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTagsAllResponse.cs new file mode 100644 index 00000000..6ebdacbf --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTagsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class IssueTrackingCollectionTagsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// List Tags + /// + public GetCollectionTagsResponse? GetCollectionTagsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAddRequest.cs new file mode 100644 index 00000000..b6599c44 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAddRequest.cs @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class IssueTrackingCollectionTicketCommentsAddRequest + { + + /// + /// The collection ID + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=collection_id")] + public string CollectionId { get; set; } = default!; + + /// + /// ID of the ticket you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ticket_id")] + public string TicketId { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public CollectionTicketCommentInput CollectionTicketComment { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAddResponse.cs new file mode 100644 index 00000000..caeb9a81 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class IssueTrackingCollectionTicketCommentsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Create a Comment + /// + public CreateCommentResponse? CreateCommentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAllRequest.cs new file mode 100644 index 00000000..5f941a36 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAllRequest.cs @@ -0,0 +1,85 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class IssueTrackingCollectionTicketCommentsAllRequest + { + + /// + /// The collection ID + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=collection_id")] + public string CollectionId { get; set; } = default!; + + /// + /// ID of the ticket you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ticket_id")] + public string TicketId { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public CommentsSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAllResponse.cs new file mode 100644 index 00000000..f719caa2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class IssueTrackingCollectionTicketCommentsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// List Comments + /// + public GetCommentsResponse? GetCommentsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteRequest.cs new file mode 100644 index 00000000..233a2088 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteRequest.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class IssueTrackingCollectionTicketCommentsDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// The collection ID + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=collection_id")] + public string CollectionId { get; set; } = default!; + + /// + /// ID of the ticket you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ticket_id")] + public string TicketId { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteResponse.cs new file mode 100644 index 00000000..391f7bb4 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class IssueTrackingCollectionTicketCommentsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Delete a Comment + /// + public DeleteCommentResponse? DeleteCommentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsOneRequest.cs new file mode 100644 index 00000000..8edfdaa3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsOneRequest.cs @@ -0,0 +1,77 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class IssueTrackingCollectionTicketCommentsOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// The collection ID + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=collection_id")] + public string CollectionId { get; set; } = default!; + + /// + /// ID of the ticket you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ticket_id")] + public string TicketId { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsOneResponse.cs new file mode 100644 index 00000000..aa495dba --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class IssueTrackingCollectionTicketCommentsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Get a Comment + /// + public GetCommentResponse? GetCommentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateRequest.cs new file mode 100644 index 00000000..82fd6615 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateRequest.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class IssueTrackingCollectionTicketCommentsUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// The collection ID + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=collection_id")] + public string CollectionId { get; set; } = default!; + + /// + /// ID of the ticket you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ticket_id")] + public string TicketId { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public CollectionTicketCommentInput CollectionTicketComment { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateResponse.cs new file mode 100644 index 00000000..692cf159 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketCommentsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class IssueTrackingCollectionTicketCommentsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Update a Comment + /// + public UpdateCommentResponse? UpdateCommentResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAddRequest.cs new file mode 100644 index 00000000..5a878826 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAddRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class IssueTrackingCollectionTicketsAddRequest + { + + /// + /// The collection ID + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=collection_id")] + public string CollectionId { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public TicketInput Ticket { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAddResponse.cs new file mode 100644 index 00000000..53c05226 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class IssueTrackingCollectionTicketsAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Create a Ticket + /// + public CreateTicketResponse? CreateTicketResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAllRequest.cs new file mode 100644 index 00000000..e233ac18 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAllRequest.cs @@ -0,0 +1,85 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class IssueTrackingCollectionTicketsAllRequest + { + + /// + /// The collection ID + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=collection_id")] + public string CollectionId { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public TicketsSort? Sort { get; set; } + + /// + /// Apply filters + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public IssuesFilter? Filter { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAllResponse.cs new file mode 100644 index 00000000..4988a693 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class IssueTrackingCollectionTicketsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// List Tickets + /// + public GetTicketsResponse? GetTicketsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsDeleteRequest.cs new file mode 100644 index 00000000..1cb0d12d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsDeleteRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class IssueTrackingCollectionTicketsDeleteRequest + { + + /// + /// ID of the ticket you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ticket_id")] + public string TicketId { get; set; } = default!; + + /// + /// The collection ID + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=collection_id")] + public string CollectionId { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsDeleteResponse.cs new file mode 100644 index 00000000..867ea0f1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class IssueTrackingCollectionTicketsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Delete a Ticket + /// + public DeleteTicketResponse? DeleteTicketResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsOneRequest.cs new file mode 100644 index 00000000..bdd850b6 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsOneRequest.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class IssueTrackingCollectionTicketsOneRequest + { + + /// + /// ID of the ticket you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ticket_id")] + public string TicketId { get; set; } = default!; + + /// + /// The collection ID + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=collection_id")] + public string CollectionId { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsOneResponse.cs new file mode 100644 index 00000000..ca2d594d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class IssueTrackingCollectionTicketsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Get a Ticket + /// + public GetTicketResponse? GetTicketResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsUpdateRequest.cs new file mode 100644 index 00000000..723fffac --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsUpdateRequest.cs @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class IssueTrackingCollectionTicketsUpdateRequest + { + + /// + /// ID of the ticket you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ticket_id")] + public string TicketId { get; set; } = default!; + + /// + /// The collection ID + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=collection_id")] + public string CollectionId { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public TicketInput Ticket { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsUpdateResponse.cs new file mode 100644 index 00000000..a2d49513 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionTicketsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class IssueTrackingCollectionTicketsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Update a Ticket + /// + public UpdateTicketResponse? UpdateTicketResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersAllRequest.cs new file mode 100644 index 00000000..6459cf62 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersAllRequest.cs @@ -0,0 +1,72 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class IssueTrackingCollectionUsersAllRequest + { + + /// + /// The collection ID + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=collection_id")] + public string CollectionId { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersAllResponse.cs new file mode 100644 index 00000000..54f4fc0b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class IssueTrackingCollectionUsersAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Users + /// + public GetCollectionUsersResponse? GetCollectionUsersResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersOneRequest.cs new file mode 100644 index 00000000..92f8a9e0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersOneRequest.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class IssueTrackingCollectionUsersOneRequest + { + + /// + /// The collection ID + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=collection_id")] + public string CollectionId { get; set; } = default!; + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersOneResponse.cs new file mode 100644 index 00000000..00174324 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionUsersOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class IssueTrackingCollectionUsersOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// User + /// + public GetCollectionUserResponse? GetCollectionUserResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsAllRequest.cs new file mode 100644 index 00000000..936bab5a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsAllRequest.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using System.Collections.Generic; + + public class IssueTrackingCollectionsAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// Apply sorting + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=sort")] + public CollectionsSort? Sort { get; set; } + + /// + /// Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=pass_through")] + public Dictionary? PassThrough { get; set; } + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsAllResponse.cs new file mode 100644 index 00000000..dc4c282e --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class IssueTrackingCollectionsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// List Collections + /// + public GetCollectionsResponse? GetCollectionsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsOneRequest.cs new file mode 100644 index 00000000..f44c33fd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class IssueTrackingCollectionsOneRequest + { + + /// + /// The collection ID + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=collection_id")] + public string CollectionId { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsOneResponse.cs new file mode 100644 index 00000000..b318880d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/IssueTrackingCollectionsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class IssueTrackingCollectionsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Get a Collection + /// + public GetCollectionResponse? GetCollectionResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAddRequest.cs new file mode 100644 index 00000000..d3fd1037 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAddRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class SmsMessagesAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public MessageInput Message { get; set; } = default!; + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAddResponse.cs new file mode 100644 index 00000000..63831bca --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class SmsMessagesAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Messages + /// + public CreateMessageResponse? CreateMessageResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAllRequest.cs new file mode 100644 index 00000000..9be45d44 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAllRequest.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class SmsMessagesAllRequest + { + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAllResponse.cs new file mode 100644 index 00000000..e1cf7c7d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class SmsMessagesAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Messages + /// + public GetMessagesResponse? GetMessagesResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesDeleteRequest.cs new file mode 100644 index 00000000..7dfa009f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesDeleteRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class SmsMessagesDeleteRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesDeleteResponse.cs new file mode 100644 index 00000000..7011cbdd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class SmsMessagesDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Messages + /// + public DeleteMessageResponse? DeleteMessageResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesOneRequest.cs new file mode 100644 index 00000000..aa9b1e3d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesOneRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class SmsMessagesOneRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + + /// + /// The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=fields")] + public string? Fields { get; set; } = null; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesOneResponse.cs new file mode 100644 index 00000000..4b2e5854 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class SmsMessagesOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Messages + /// + public GetMessageResponse? GetMessageResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesUpdateRequest.cs new file mode 100644 index 00000000..83d173ef --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesUpdateRequest.cs @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class SmsMessagesUpdateRequest + { + + /// + /// ID of the record you are acting upon. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public MessageInput Message { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-service-id")] + public string? ServiceId { get; set; } + + /// + /// Include raw response. Mostly used for debugging purposes + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=raw")] + public bool? Raw { get; set; } = false; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesUpdateResponse.cs new file mode 100644 index 00000000..db90e281 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/SmsMessagesUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class SmsMessagesUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Messages + /// + public UpdateMessageResponse? UpdateMessageResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionCustomMappingsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionCustomMappingsAllRequest.cs new file mode 100644 index 00000000..03fa26aa --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionCustomMappingsAllRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class VaultConnectionCustomMappingsAllRequest + { + + /// + /// Unified API + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=unified_api")] + public string UnifiedApi { get; set; } = default!; + + /// + /// Service ID of the resource to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// Name of the resource (plural) + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=resource")] + public string Resource { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// This is the id of the resource you want to fetch when listing custom fields. For example, if you want to fetch custom fields for a specific contact, you would use the contact id. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=resource_id")] + public string? ResourceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionCustomMappingsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionCustomMappingsAllResponse.cs new file mode 100644 index 00000000..1ae86e05 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionCustomMappingsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultConnectionCustomMappingsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Custom mapping + /// + public GetCustomMappingsResponse? GetCustomMappingsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsAllRequest.cs new file mode 100644 index 00000000..808fbe66 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsAllRequest.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class VaultConnectionSettingsAllRequest + { + + /// + /// Unified API + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=unified_api")] + public string UnifiedApi { get; set; } = default!; + + /// + /// Service ID of the resource to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// Name of the resource (plural) + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=resource")] + public string Resource { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsAllResponse.cs new file mode 100644 index 00000000..62cb5a03 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultConnectionSettingsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Connection + /// + public GetConnectionResponse? GetConnectionResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsUpdateRequest.cs new file mode 100644 index 00000000..3caafc29 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsUpdateRequest.cs @@ -0,0 +1,54 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class VaultConnectionSettingsUpdateRequest + { + + /// + /// Service ID of the resource to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// Unified API + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=unified_api")] + public string UnifiedApi { get; set; } = default!; + + /// + /// Name of the resource (plural) + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=resource")] + public string Resource { get; set; } = default!; + + /// + /// Fields that need to be updated on the resource + /// + [SpeakeasyMetadata("request:mediaType=application/json")] + public ConnectionInput Connection { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsUpdateResponse.cs new file mode 100644 index 00000000..6225acbf --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionSettingsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultConnectionSettingsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Connection updated + /// + public UpdateConnectionResponse? UpdateConnectionResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsAllRequest.cs new file mode 100644 index 00000000..2a55b46b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsAllRequest.cs @@ -0,0 +1,41 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class VaultConnectionsAllRequest + { + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Scope results to Unified API + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=api")] + public string? Api { get; set; } + + /// + /// Scopes results to connections that have been configured or not + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=configured")] + public bool? Configured { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsAllResponse.cs new file mode 100644 index 00000000..6489fd31 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultConnectionsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Connections + /// + public GetConnectionsResponse? GetConnectionsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsDeleteRequest.cs new file mode 100644 index 00000000..56137259 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsDeleteRequest.cs @@ -0,0 +1,41 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class VaultConnectionsDeleteRequest + { + + /// + /// Service ID of the resource to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// Unified API + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=unified_api")] + public string UnifiedApi { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsDeleteResponse.cs new file mode 100644 index 00000000..b1aae375 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsDeleteResponse.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultConnectionsDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsImportRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsImportRequest.cs new file mode 100644 index 00000000..18c31c4f --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsImportRequest.cs @@ -0,0 +1,48 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class VaultConnectionsImportRequest + { + + /// + /// Service ID of the resource to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// Unified API + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=unified_api")] + public string UnifiedApi { get; set; } = default!; + + /// + /// Fields that need to be persisted on the resource + /// + [SpeakeasyMetadata("request:mediaType=application/json")] + public ConnectionImportData ConnectionImportData { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsImportResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsImportResponse.cs new file mode 100644 index 00000000..44bccfaa --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsImportResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultConnectionsImportResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Connection created + /// + public CreateConnectionResponse? CreateConnectionResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsOneRequest.cs new file mode 100644 index 00000000..38c33244 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsOneRequest.cs @@ -0,0 +1,41 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class VaultConnectionsOneRequest + { + + /// + /// Service ID of the resource to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// Unified API + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=unified_api")] + public string UnifiedApi { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsOneResponse.cs new file mode 100644 index 00000000..c8381f40 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultConnectionsOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Connection + /// + public GetConnectionResponse? GetConnectionResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsTokenRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsTokenRequest.cs new file mode 100644 index 00000000..65df3192 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsTokenRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils; + + public class VaultConnectionsTokenRequest + { + + /// + /// Service ID of the resource to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// Unified API + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=unified_api")] + public string UnifiedApi { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + [SpeakeasyMetadata("request:mediaType=application/json")] + public VaultConnectionsTokenRequestBody? RequestBody { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsTokenRequestBody.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsTokenRequestBody.cs new file mode 100644 index 00000000..bdefa9d1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsTokenRequestBody.cs @@ -0,0 +1,17 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class VaultConnectionsTokenRequestBody + { + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsTokenResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsTokenResponse.cs new file mode 100644 index 00000000..ee38587a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsTokenResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultConnectionsTokenResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Connection + /// + public GetConnectionResponse? GetConnectionResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsUpdateRequest.cs new file mode 100644 index 00000000..990198d8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsUpdateRequest.cs @@ -0,0 +1,48 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class VaultConnectionsUpdateRequest + { + + /// + /// Service ID of the resource to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// Unified API + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=unified_api")] + public string UnifiedApi { get; set; } = default!; + + /// + /// Fields that need to be updated on the resource + /// + [SpeakeasyMetadata("request:mediaType=application/json")] + public ConnectionInput Connection { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsUpdateResponse.cs new file mode 100644 index 00000000..3a1d015a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConnectionsUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultConnectionsUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Connection updated + /// + public UpdateConnectionResponse? UpdateConnectionResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConsumerRequestCountsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumerRequestCountsAllRequest.cs new file mode 100644 index 00000000..dc25e5a0 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumerRequestCountsAllRequest.cs @@ -0,0 +1,41 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class VaultConsumerRequestCountsAllRequest + { + + /// + /// ID of the consumer to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=consumer_id")] + public string ConsumerId { get; set; } = default!; + + /// + /// Scopes results to requests that happened after datetime + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=start_datetime")] + public string StartDatetime { get; set; } = default!; + + /// + /// Scopes results to requests that happened before datetime + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=end_datetime")] + public string EndDatetime { get; set; } = default!; + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConsumerRequestCountsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumerRequestCountsAllResponse.cs new file mode 100644 index 00000000..0b3f8d0a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumerRequestCountsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultConsumerRequestCountsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Consumers Request Counts within Date Range + /// + public ConsumerRequestCountsInDateRangeResponse? ConsumerRequestCountsInDateRangeResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAddRequest.cs new file mode 100644 index 00000000..f4eee086 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAddRequest.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class VaultConsumersAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public ConsumerInput Consumer { get; set; } = default!; + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAddResponse.cs new file mode 100644 index 00000000..0f3dc4ad --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultConsumersAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Consumer created + /// + public CreateConsumerResponse? CreateConsumerResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAllRequest.cs new file mode 100644 index 00000000..2995bded --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAllRequest.cs @@ -0,0 +1,35 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class VaultConsumersAllRequest + { + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAllResponse.cs new file mode 100644 index 00000000..145cca16 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultConsumersAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Consumers + /// + public GetConsumersResponse? GetConsumersResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersDeleteRequest.cs new file mode 100644 index 00000000..6310658b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersDeleteRequest.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class VaultConsumersDeleteRequest + { + + /// + /// ID of the consumer to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=consumer_id")] + public string ConsumerId { get; set; } = default!; + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersDeleteResponse.cs new file mode 100644 index 00000000..7ec1cff1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultConsumersDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Consumer deleted + /// + public DeleteConsumerResponse? DeleteConsumerResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersOneRequest.cs new file mode 100644 index 00000000..f0999dc2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersOneRequest.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class VaultConsumersOneRequest + { + + /// + /// ID of the consumer to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=consumer_id")] + public string ConsumerId { get; set; } = default!; + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersOneResponse.cs new file mode 100644 index 00000000..6b2d8cc8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultConsumersOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Consumer + /// + public GetConsumerResponse? GetConsumerResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersUpdateRequest.cs new file mode 100644 index 00000000..bbe39d79 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersUpdateRequest.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class VaultConsumersUpdateRequest + { + + /// + /// ID of the consumer to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=consumer_id")] + public string ConsumerId { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public UpdateConsumerRequest UpdateConsumerRequest { get; set; } = default!; + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersUpdateResponse.cs new file mode 100644 index 00000000..e6f54583 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultConsumersUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultConsumersUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Consumer updated + /// + public UpdateConsumerResponse? UpdateConsumerResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultCreateCallbackStateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultCreateCallbackStateRequest.cs new file mode 100644 index 00000000..d80c8ac1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultCreateCallbackStateRequest.cs @@ -0,0 +1,48 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class VaultCreateCallbackStateRequest + { + + /// + /// Service ID of the resource to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// Unified API + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=unified_api")] + public string UnifiedApi { get; set; } = default!; + + /// + /// Callback state data + /// + [SpeakeasyMetadata("request:mediaType=application/json")] + public CreateCallbackState CreateCallbackState { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultCreateCallbackStateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultCreateCallbackStateResponse.cs new file mode 100644 index 00000000..3c8391f8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultCreateCallbackStateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultCreateCallbackStateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Callback state created + /// + public CreateCallbackStateResponse? CreateCallbackStateResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultCustomFieldsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultCustomFieldsAllRequest.cs new file mode 100644 index 00000000..9d3dd1ab --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultCustomFieldsAllRequest.cs @@ -0,0 +1,53 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class VaultCustomFieldsAllRequest + { + + /// + /// Unified API + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=unified_api")] + public string UnifiedApi { get; set; } = default!; + + /// + /// Service ID of the resource to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// Name of the resource (plural) + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=resource")] + public string Resource { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// This is the id of the resource you want to fetch when listing custom fields. For example, if you want to fetch custom fields for a specific contact, you would use the contact id. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=resource_id")] + public string? ResourceId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultCustomFieldsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultCustomFieldsAllResponse.cs new file mode 100644 index 00000000..45d8f5d1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultCustomFieldsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultCustomFieldsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Custom mapping + /// + public GetCustomFieldsResponse? GetCustomFieldsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultCustomMappingsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultCustomMappingsAllRequest.cs new file mode 100644 index 00000000..e74dcd19 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultCustomMappingsAllRequest.cs @@ -0,0 +1,41 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class VaultCustomMappingsAllRequest + { + + /// + /// Unified API + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=unified_api")] + public string UnifiedApi { get; set; } = default!; + + /// + /// Service ID of the resource to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultCustomMappingsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultCustomMappingsAllResponse.cs new file mode 100644 index 00000000..d60c3336 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultCustomMappingsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultCustomMappingsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Custom mapping + /// + public GetCustomMappingsResponse? GetCustomMappingsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultLogsAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultLogsAllRequest.cs new file mode 100644 index 00000000..56b64914 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultLogsAllRequest.cs @@ -0,0 +1,48 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class VaultLogsAllRequest + { + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// Filter results + /// + [SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=filter")] + public LogsFilter? Filter { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultLogsAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultLogsAllResponse.cs new file mode 100644 index 00000000..747880c5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultLogsAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultLogsAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Logs + /// + public GetLogsResponse? GetLogsResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultSessionsCreateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultSessionsCreateRequest.cs new file mode 100644 index 00000000..77d365e5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultSessionsCreateRequest.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class VaultSessionsCreateRequest + { + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Additional redirect uri and/or consumer metadata + /// + [SpeakeasyMetadata("request:mediaType=application/json")] + public Session? Session { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultSessionsCreateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultSessionsCreateResponse.cs new file mode 100644 index 00000000..13aff78a --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultSessionsCreateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultSessionsCreateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Session created + /// + public CreateSessionResponse? CreateSessionResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultValidateConnectionStateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultValidateConnectionStateRequest.cs new file mode 100644 index 00000000..4b22a992 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultValidateConnectionStateRequest.cs @@ -0,0 +1,45 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils; + + public class VaultValidateConnectionStateRequest + { + + /// + /// Service ID of the resource to return + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// Unified API + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=unified_api")] + public string UnifiedApi { get; set; } = default!; + + /// + /// ID of the consumer which you want to get or push data from + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-consumer-id")] + public string? ConsumerId { get; set; } + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + [SpeakeasyMetadata("request:mediaType=application/json")] + public VaultValidateConnectionStateRequestBody? RequestBody { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultValidateConnectionStateRequestBody.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultValidateConnectionStateRequestBody.cs new file mode 100644 index 00000000..6aa17abd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultValidateConnectionStateRequestBody.cs @@ -0,0 +1,17 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class VaultValidateConnectionStateRequestBody + { + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/VaultValidateConnectionStateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/VaultValidateConnectionStateResponse.cs new file mode 100644 index 00000000..2e14a810 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/VaultValidateConnectionStateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class VaultValidateConnectionStateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Connection access token refreshed + /// + public ValidateConnectionStateResponse? ValidateConnectionStateResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAddRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAddRequest.cs new file mode 100644 index 00000000..70358199 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAddRequest.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class WebhookWebhooksAddRequest + { + + [SpeakeasyMetadata("request:mediaType=application/json")] + public CreateWebhookRequest CreateWebhookRequest { get; set; } = default!; + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAddResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAddResponse.cs new file mode 100644 index 00000000..f03590af --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAddResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class WebhookWebhooksAddResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Webhooks + /// + public CreateWebhookResponse? CreateWebhookResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAllRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAllRequest.cs new file mode 100644 index 00000000..ce69e2c3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAllRequest.cs @@ -0,0 +1,35 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class WebhookWebhooksAllRequest + { + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + + /// + /// Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=cursor")] + public string? Cursor { get; set; } = null; + + /// + /// Number of results to return. Minimum 1, Maximum 200, Default 20 + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } = 20; + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAllResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAllResponse.cs new file mode 100644 index 00000000..d35a5329 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksAllResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class WebhookWebhooksAllResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Webhooks + /// + public GetWebhooksResponse? GetWebhooksResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksDeleteRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksDeleteRequest.cs new file mode 100644 index 00000000..74b7ae42 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksDeleteRequest.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class WebhookWebhooksDeleteRequest + { + + /// + /// JWT Webhook token that represents the unifiedApi and applicationId associated to the event source. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksDeleteResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksDeleteResponse.cs new file mode 100644 index 00000000..39bf998b --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksDeleteResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class WebhookWebhooksDeleteResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Webhooks + /// + public DeleteWebhookResponse? DeleteWebhookResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksOneRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksOneRequest.cs new file mode 100644 index 00000000..abb49f5d --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksOneRequest.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Utils; + + public class WebhookWebhooksOneRequest + { + + /// + /// JWT Webhook token that represents the unifiedApi and applicationId associated to the event source. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksOneResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksOneResponse.cs new file mode 100644 index 00000000..2ccb4ffd --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksOneResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class WebhookWebhooksOneResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Webhooks + /// + public GetWebhookResponse? GetWebhookResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksUpdateRequest.cs b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksUpdateRequest.cs new file mode 100644 index 00000000..883de708 --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksUpdateRequest.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + + public class WebhookWebhooksUpdateRequest + { + + /// + /// JWT Webhook token that represents the unifiedApi and applicationId associated to the event source. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=id")] + public string Id { get; set; } = default!; + + [SpeakeasyMetadata("request:mediaType=application/json")] + public UpdateWebhookRequest UpdateWebhookRequest { get; set; } = default!; + + /// + /// The ID of your Unify application + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=x-apideck-app-id")] + public string? AppId { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksUpdateResponse.cs b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksUpdateResponse.cs new file mode 100644 index 00000000..465f53cb --- /dev/null +++ b/src/Apideck/Unify/SDK/Models/Requests/WebhookWebhooksUpdateResponse.cs @@ -0,0 +1,32 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Models.Requests +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + + public class WebhookWebhooksUpdateResponse + { + + [JsonProperty("-")] + public HTTPMetadata HttpMeta { get; set; } = default!; + + /// + /// Webhooks + /// + public UpdateWebhookResponse? UpdateWebhookResponse { get; set; } + + /// + /// Unexpected error + /// + public UnexpectedErrorResponse? UnexpectedErrorResponse { get; set; } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Notes.cs b/src/Apideck/Unify/SDK/Notes.cs new file mode 100644 index 00000000..17618c1a --- /dev/null +++ b/src/Apideck/Unify/SDK/Notes.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface INotes + { + + /// + /// List notes + /// + /// + /// List notes + /// + /// + Task ListAsync(CrmNotesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create note + /// + /// + /// Create note + /// + /// + Task CreateAsync(CrmNotesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get note + /// + /// + /// Get note + /// + /// + Task GetAsync(CrmNotesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update note + /// + /// + /// Update note + /// + /// + Task UpdateAsync(CrmNotesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete note + /// + /// + /// Delete note + /// + /// + Task DeleteAsync(CrmNotesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Notes: INotes + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Notes(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(CrmNotesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/notes", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.notesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmNotesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetNotesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmNotesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(CrmNotesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmNotesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/notes", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Note", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.notesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmNotesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateNoteResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmNotesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(CrmNotesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmNotesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/notes/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.notesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmNotesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetNoteResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmNotesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(CrmNotesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmNotesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/notes/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Note", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.notesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmNotesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateNoteResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmNotesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(CrmNotesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmNotesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/notes/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.notesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmNotesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteNoteResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmNotesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Opportunities.cs b/src/Apideck/Unify/SDK/Opportunities.cs new file mode 100644 index 00000000..d13474e3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Opportunities.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IOpportunities + { + + /// + /// List opportunities + /// + /// + /// List opportunities + /// + /// + Task ListAsync(CrmOpportunitiesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create opportunity + /// + /// + /// Create opportunity + /// + /// + Task CreateAsync(CrmOpportunitiesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get opportunity + /// + /// + /// Get opportunity + /// + /// + Task GetAsync(CrmOpportunitiesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update opportunity + /// + /// + /// Update opportunity + /// + /// + Task UpdateAsync(CrmOpportunitiesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete opportunity + /// + /// + /// Delete opportunity + /// + /// + Task DeleteAsync(CrmOpportunitiesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Opportunities: IOpportunities + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Opportunities(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(CrmOpportunitiesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/opportunities", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.opportunitiesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmOpportunitiesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetOpportunitiesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmOpportunitiesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(CrmOpportunitiesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmOpportunitiesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/opportunities", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Opportunity", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.opportunitiesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmOpportunitiesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateOpportunityResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmOpportunitiesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(CrmOpportunitiesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmOpportunitiesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/opportunities/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.opportunitiesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmOpportunitiesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetOpportunityResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmOpportunitiesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(CrmOpportunitiesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmOpportunitiesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/opportunities/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Opportunity", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.opportunitiesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmOpportunitiesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateOpportunityResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmOpportunitiesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(CrmOpportunitiesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmOpportunitiesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/opportunities/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.opportunitiesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmOpportunitiesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteOpportunityResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmOpportunitiesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Orders.cs b/src/Apideck/Unify/SDK/Orders.cs new file mode 100644 index 00000000..a047e9f9 --- /dev/null +++ b/src/Apideck/Unify/SDK/Orders.cs @@ -0,0 +1,431 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IOrders + { + + /// + /// List Orders + /// + /// + /// List Orders + /// + /// + Task ListAsync(EcommerceOrdersAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Get Order + /// + /// + /// Get Order + /// + /// + Task GetAsync(EcommerceOrdersOneRequest request, RetryConfig? retryConfig = null); + } + + public class Orders: IOrders + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Orders(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(EcommerceOrdersAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ecommerce/orders", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ecommerce.ordersAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new EcommerceOrdersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetEcommerceOrdersResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new EcommerceOrdersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(EcommerceOrdersOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new EcommerceOrdersOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ecommerce/orders/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ecommerce.ordersOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new EcommerceOrdersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetEcommerceOrderResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new EcommerceOrdersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Payments.cs b/src/Apideck/Unify/SDK/Payments.cs new file mode 100644 index 00000000..596b9d3e --- /dev/null +++ b/src/Apideck/Unify/SDK/Payments.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IPayments + { + + /// + /// List Payments + /// + /// + /// List Payments + /// + /// + Task ListAsync(AccountingPaymentsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Payment + /// + /// + /// Create Payment + /// + /// + Task CreateAsync(AccountingPaymentsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Payment + /// + /// + /// Get Payment + /// + /// + Task GetAsync(AccountingPaymentsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Payment + /// + /// + /// Update Payment + /// + /// + Task UpdateAsync(AccountingPaymentsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Payment + /// + /// + /// Delete Payment + /// + /// + Task DeleteAsync(AccountingPaymentsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Payments: IPayments + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Payments(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingPaymentsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/payments", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.paymentsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingPaymentsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetPaymentsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingPaymentsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingPaymentsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingPaymentsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/payments", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Payment", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.paymentsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPaymentsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreatePaymentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPaymentsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingPaymentsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingPaymentsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/payments/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.paymentsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPaymentsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetPaymentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPaymentsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingPaymentsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingPaymentsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/payments/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Payment", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.paymentsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPaymentsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdatePaymentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPaymentsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingPaymentsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingPaymentsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/payments/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.paymentsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPaymentsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeletePaymentResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPaymentsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Payrolls.cs b/src/Apideck/Unify/SDK/Payrolls.cs new file mode 100644 index 00000000..4930aef5 --- /dev/null +++ b/src/Apideck/Unify/SDK/Payrolls.cs @@ -0,0 +1,431 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IPayrolls + { + + /// + /// List Payroll + /// + /// + /// List Payroll + /// + /// + Task ListAsync(HrisPayrollsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Get Payroll + /// + /// + /// Get Payroll + /// + /// + Task GetAsync(HrisPayrollsOneRequest request, RetryConfig? retryConfig = null); + } + + public class Payrolls: IPayrolls + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Payrolls(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(HrisPayrollsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/payrolls", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.payrollsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new HrisPayrollsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetPayrollsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new HrisPayrollsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(HrisPayrollsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisPayrollsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/payrolls/{payroll_id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.payrollsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisPayrollsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetPayrollResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisPayrollsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Pipelines.cs b/src/Apideck/Unify/SDK/Pipelines.cs new file mode 100644 index 00000000..e4ebdf01 --- /dev/null +++ b/src/Apideck/Unify/SDK/Pipelines.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IPipelines + { + + /// + /// List pipelines + /// + /// + /// List pipelines + /// + /// + Task ListAsync(CrmPipelinesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create pipeline + /// + /// + /// Create pipeline + /// + /// + Task CreateAsync(CrmPipelinesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get pipeline + /// + /// + /// Get pipeline + /// + /// + Task GetAsync(CrmPipelinesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update pipeline + /// + /// + /// Update pipeline + /// + /// + Task UpdateAsync(CrmPipelinesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete pipeline + /// + /// + /// Delete pipeline + /// + /// + Task DeleteAsync(CrmPipelinesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Pipelines: IPipelines + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Pipelines(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(CrmPipelinesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/pipelines", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.pipelinesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmPipelinesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetPipelinesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmPipelinesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(CrmPipelinesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmPipelinesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/pipelines", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Pipeline", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.pipelinesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmPipelinesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreatePipelineResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmPipelinesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(CrmPipelinesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmPipelinesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/pipelines/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.pipelinesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmPipelinesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetPipelineResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmPipelinesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(CrmPipelinesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmPipelinesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/pipelines/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Pipeline", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.pipelinesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmPipelinesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdatePipelineResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmPipelinesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(CrmPipelinesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmPipelinesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/pipelines/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.pipelinesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmPipelinesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeletePipelineResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmPipelinesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Products.cs b/src/Apideck/Unify/SDK/Products.cs new file mode 100644 index 00000000..ba9282f8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Products.cs @@ -0,0 +1,431 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IProducts + { + + /// + /// List Products + /// + /// + /// List Products + /// + /// + Task ListAsync(EcommerceProductsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Get Product + /// + /// + /// Get Product + /// + /// + Task GetAsync(EcommerceProductsOneRequest request, RetryConfig? retryConfig = null); + } + + public class Products: IProducts + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Products(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(EcommerceProductsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ecommerce/products", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ecommerce.productsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new EcommerceProductsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetProductsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new EcommerceProductsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(EcommerceProductsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new EcommerceProductsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ecommerce/products/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ecommerce.productsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new EcommerceProductsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetProductResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new EcommerceProductsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/ProfitAndLoss.cs b/src/Apideck/Unify/SDK/ProfitAndLoss.cs new file mode 100644 index 00000000..6fde5959 --- /dev/null +++ b/src/Apideck/Unify/SDK/ProfitAndLoss.cs @@ -0,0 +1,238 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IProfitAndLoss + { + + /// + /// Get Profit and Loss + /// + /// + /// Get Profit and Loss + /// + /// + Task GetAsync(AccountingProfitAndLossOneRequest? request = null, RetryConfig? retryConfig = null); + } + + public class ProfitAndLoss: IProfitAndLoss + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public ProfitAndLoss(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task GetAsync(AccountingProfitAndLossOneRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/profit-and-loss", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.profitAndLossOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingProfitAndLossOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetProfitAndLossResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingProfitAndLossOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/PurchaseOrders.cs b/src/Apideck/Unify/SDK/PurchaseOrders.cs new file mode 100644 index 00000000..5a294eab --- /dev/null +++ b/src/Apideck/Unify/SDK/PurchaseOrders.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IPurchaseOrders + { + + /// + /// List Purchase Orders + /// + /// + /// List Purchase Orders + /// + /// + Task ListAsync(AccountingPurchaseOrdersAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Purchase Order + /// + /// + /// Create Purchase Order + /// + /// + Task CreateAsync(AccountingPurchaseOrdersAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Purchase Order + /// + /// + /// Get Purchase Order + /// + /// + Task GetAsync(AccountingPurchaseOrdersOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Purchase Order + /// + /// + /// Update Purchase Order + /// + /// + Task UpdateAsync(AccountingPurchaseOrdersUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Purchase Order + /// + /// + /// Delete Purchase Order + /// + /// + Task DeleteAsync(AccountingPurchaseOrdersDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class PurchaseOrders: IPurchaseOrders + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public PurchaseOrders(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingPurchaseOrdersAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/purchase-orders", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.purchaseOrdersAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingPurchaseOrdersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetPurchaseOrdersResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingPurchaseOrdersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingPurchaseOrdersAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingPurchaseOrdersAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/purchase-orders", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "PurchaseOrder", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.purchaseOrdersAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPurchaseOrdersAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreatePurchaseOrderResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPurchaseOrdersAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingPurchaseOrdersOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingPurchaseOrdersOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/purchase-orders/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.purchaseOrdersOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPurchaseOrdersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetPurchaseOrderResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPurchaseOrdersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingPurchaseOrdersUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingPurchaseOrdersUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/purchase-orders/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "PurchaseOrder", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.purchaseOrdersUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPurchaseOrdersUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdatePurchaseOrderResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPurchaseOrdersUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingPurchaseOrdersDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingPurchaseOrdersDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/purchase-orders/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.purchaseOrdersDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPurchaseOrdersDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeletePurchaseOrderResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingPurchaseOrdersDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Sessions.cs b/src/Apideck/Unify/SDK/Sessions.cs new file mode 100644 index 00000000..72a6f67d --- /dev/null +++ b/src/Apideck/Unify/SDK/Sessions.cs @@ -0,0 +1,255 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ISessions + { + + /// + /// Create Session + /// + /// + /// Making a POST request to this endpoint will initiate a Hosted Vault session. Redirect the consumer to the returned
+ /// URL to allow temporary access to manage their integrations and settings.
+ ///
+ /// Note: This is a short lived token that will expire after 1 hour (TTL: 3600).
+ /// + ///
+ ///
+ Task CreateAsync(string? consumerId = null, string? appId = null, Session? session = null, RetryConfig? retryConfig = null); + } + + public class Sessions: ISessions + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Sessions(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task CreateAsync(string? consumerId = null, string? appId = null, Session? session = null, RetryConfig? retryConfig = null) + { + var request = new VaultSessionsCreateRequest() + { + ConsumerId = consumerId, + AppId = appId, + Session = session, + }; + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + + var urlString = baseUrl + "/vault/sessions"; + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Session", "json", false, true); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.sessionsCreate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new VaultSessionsCreateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateSessionResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new VaultSessionsCreateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/SharedLinks.cs b/src/Apideck/Unify/SDK/SharedLinks.cs new file mode 100644 index 00000000..abe1eeb6 --- /dev/null +++ b/src/Apideck/Unify/SDK/SharedLinks.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ISharedLinks + { + + /// + /// List SharedLinks + /// + /// + /// List SharedLinks + /// + /// + Task ListAsync(FileStorageSharedLinksAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Shared Link + /// + /// + /// Create Shared Link + /// + /// + Task CreateAsync(FileStorageSharedLinksAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Shared Link + /// + /// + /// Get Shared Link + /// + /// + Task GetAsync(FileStorageSharedLinksOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Shared Link + /// + /// + /// Update Shared Link + /// + /// + Task UpdateAsync(FileStorageSharedLinksUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Shared Link + /// + /// + /// Delete Shared Link + /// + /// + Task DeleteAsync(FileStorageSharedLinksDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class SharedLinks: ISharedLinks + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public SharedLinks(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(FileStorageSharedLinksAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/shared-links", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.sharedLinksAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new FileStorageSharedLinksAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetSharedLinksResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new FileStorageSharedLinksAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(FileStorageSharedLinksAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageSharedLinksAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/shared-links", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "SharedLink", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.sharedLinksAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageSharedLinksAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateSharedLinkResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageSharedLinksAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(FileStorageSharedLinksOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageSharedLinksOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/shared-links/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.sharedLinksOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageSharedLinksOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetSharedLinkResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageSharedLinksOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(FileStorageSharedLinksUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageSharedLinksUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/shared-links/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "SharedLink", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.sharedLinksUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageSharedLinksUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateSharedLinkResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageSharedLinksUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(FileStorageSharedLinksDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageSharedLinksDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/shared-links/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.sharedLinksDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageSharedLinksDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteSharedLinkResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageSharedLinksDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Sms.cs b/src/Apideck/Unify/SDK/Sms.cs new file mode 100644 index 00000000..5be17e9c --- /dev/null +++ b/src/Apideck/Unify/SDK/Sms.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils; + using System; + + public interface ISms + { + public IMessages Messages { get; } + } + + public class Sms: ISms + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + public IMessages Messages { get; private set; } + + public Sms(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + Messages = new Messages(_client, _securitySource, _serverUrl, SDKConfiguration); + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Stores.cs b/src/Apideck/Unify/SDK/Stores.cs new file mode 100644 index 00000000..b0035691 --- /dev/null +++ b/src/Apideck/Unify/SDK/Stores.cs @@ -0,0 +1,238 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IStores + { + + /// + /// Get Store + /// + /// + /// Get Store + /// + /// + Task GetAsync(EcommerceStoresOneRequest? request = null, RetryConfig? retryConfig = null); + } + + public class Stores: IStores + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Stores(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task GetAsync(EcommerceStoresOneRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/ecommerce/store", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("ecommerce.storesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new EcommerceStoresOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetStoreResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new EcommerceStoresOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Subsidiaries.cs b/src/Apideck/Unify/SDK/Subsidiaries.cs new file mode 100644 index 00000000..624b2c82 --- /dev/null +++ b/src/Apideck/Unify/SDK/Subsidiaries.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ISubsidiaries + { + + /// + /// List Subsidiaries + /// + /// + /// List Subsidiaries + /// + /// + Task ListAsync(AccountingSubsidiariesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Subsidiary + /// + /// + /// Create Subsidiary + /// + /// + Task CreateAsync(AccountingSubsidiariesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Subsidiary + /// + /// + /// Get Subsidiary + /// + /// + Task GetAsync(AccountingSubsidiariesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Subsidiary + /// + /// + /// Update Subsidiary + /// + /// + Task UpdateAsync(AccountingSubsidiariesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Subsidiary + /// + /// + /// Delete Subsidiary + /// + /// + Task DeleteAsync(AccountingSubsidiariesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Subsidiaries: ISubsidiaries + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Subsidiaries(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingSubsidiariesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/subsidiaries", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.subsidiariesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingSubsidiariesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetSubsidiariesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingSubsidiariesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingSubsidiariesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingSubsidiariesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/subsidiaries", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Subsidiary", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.subsidiariesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSubsidiariesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateSubsidiaryResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSubsidiariesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingSubsidiariesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingSubsidiariesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/subsidiaries/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.subsidiariesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSubsidiariesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetSubsidiaryResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSubsidiariesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingSubsidiariesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingSubsidiariesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/subsidiaries/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Subsidiary", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.subsidiariesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSubsidiariesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateSubsidiaryResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSubsidiariesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingSubsidiariesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingSubsidiariesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/subsidiaries/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.subsidiariesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSubsidiariesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteSubsidiaryResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSubsidiariesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Suppliers.cs b/src/Apideck/Unify/SDK/Suppliers.cs new file mode 100644 index 00000000..5aeca334 --- /dev/null +++ b/src/Apideck/Unify/SDK/Suppliers.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ISuppliers + { + + /// + /// List Suppliers + /// + /// + /// List Suppliers + /// + /// + Task ListAsync(AccountingSuppliersAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Supplier + /// + /// + /// Create Supplier + /// + /// + Task CreateAsync(AccountingSuppliersAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Supplier + /// + /// + /// Get Supplier + /// + /// + Task GetAsync(AccountingSuppliersOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Supplier + /// + /// + /// Update Supplier + /// + /// + Task UpdateAsync(AccountingSuppliersUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Supplier + /// + /// + /// Delete Supplier + /// + /// + Task DeleteAsync(AccountingSuppliersDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Suppliers: ISuppliers + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Suppliers(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingSuppliersAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/suppliers", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.suppliersAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingSuppliersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetSuppliersResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingSuppliersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingSuppliersAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingSuppliersAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/suppliers", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Supplier", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.suppliersAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSuppliersAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateSupplierResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSuppliersAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingSuppliersOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingSuppliersOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/suppliers/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.suppliersOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSuppliersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetSupplierResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSuppliersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingSuppliersUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingSuppliersUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/suppliers/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "Supplier", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.suppliersUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSuppliersUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateSupplierResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSuppliersUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingSuppliersDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingSuppliersDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/suppliers/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.suppliersDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSuppliersDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteSupplierResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingSuppliersDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/TaxRates.cs b/src/Apideck/Unify/SDK/TaxRates.cs new file mode 100644 index 00000000..d8c69743 --- /dev/null +++ b/src/Apideck/Unify/SDK/TaxRates.cs @@ -0,0 +1,1024 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ITaxRates + { + + /// + /// List Tax Rates + /// + /// + /// List Tax Rates. Note: Not all connectors return the actual rate/percentage value. In this case, only the tax code or reference is returned. Connectors Affected: Quickbooks
+ /// + ///
+ ///
+ Task ListAsync(AccountingTaxRatesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Tax Rate + /// + /// + /// Create Tax Rate + /// + /// + Task CreateAsync(AccountingTaxRatesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Tax Rate + /// + /// + /// Get Tax Rate. Note: Not all connectors return the actual rate/percentage value. In this case, only the tax code or reference is returned. Support will soon be added to return the actual rate/percentage by doing additional calls in the background to provide the full view of a given tax rate. Connectors Affected: Quickbooks
+ /// + ///
+ ///
+ Task GetAsync(AccountingTaxRatesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Tax Rate + /// + /// + /// Update Tax Rate + /// + /// + Task UpdateAsync(AccountingTaxRatesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Tax Rate + /// + /// + /// Delete Tax Rate + /// + /// + Task DeleteAsync(AccountingTaxRatesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class TaxRates: ITaxRates + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public TaxRates(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingTaxRatesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/tax-rates", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.taxRatesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingTaxRatesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetTaxRatesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingTaxRatesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingTaxRatesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingTaxRatesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/tax-rates", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "TaxRate", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.taxRatesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTaxRatesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateTaxRateResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTaxRatesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingTaxRatesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingTaxRatesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/tax-rates/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.taxRatesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTaxRatesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetTaxRateResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTaxRatesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingTaxRatesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingTaxRatesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/tax-rates/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "TaxRate", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.taxRatesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTaxRatesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateTaxRateResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTaxRatesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingTaxRatesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingTaxRatesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/tax-rates/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.taxRatesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTaxRatesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteTaxRateResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTaxRatesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/TimeOffRequests.cs b/src/Apideck/Unify/SDK/TimeOffRequests.cs new file mode 100644 index 00000000..6354c650 --- /dev/null +++ b/src/Apideck/Unify/SDK/TimeOffRequests.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ITimeOffRequests + { + + /// + /// List Time Off Requests + /// + /// + /// List Time Off Requests + /// + /// + Task ListAsync(HrisTimeOffRequestsAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Time Off Request + /// + /// + /// Create Time Off Request + /// + /// + Task CreateAsync(HrisTimeOffRequestsAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Time Off Request + /// + /// + /// Get Time Off Request + /// + /// + Task GetAsync(HrisTimeOffRequestsOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Time Off Request + /// + /// + /// Update Time Off Request + /// + /// + Task UpdateAsync(HrisTimeOffRequestsUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Time Off Request + /// + /// + /// Delete Time Off Request + /// + /// + Task DeleteAsync(HrisTimeOffRequestsDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class TimeOffRequests: ITimeOffRequests + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public TimeOffRequests(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(HrisTimeOffRequestsAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/time-off-requests", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.timeOffRequestsAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new HrisTimeOffRequestsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetTimeOffRequestsResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new HrisTimeOffRequestsAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(HrisTimeOffRequestsAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisTimeOffRequestsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/time-off-requests", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "TimeOffRequest", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.timeOffRequestsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisTimeOffRequestsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateTimeOffRequestResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisTimeOffRequestsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(HrisTimeOffRequestsOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisTimeOffRequestsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/time-off-requests/employees/{employee_id}/time-off-requests/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.timeOffRequestsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisTimeOffRequestsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetTimeOffRequestResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisTimeOffRequestsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(HrisTimeOffRequestsUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisTimeOffRequestsUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/time-off-requests/employees/{employee_id}/time-off-requests/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "TimeOffRequest", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.timeOffRequestsUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisTimeOffRequestsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateTimeOffRequestResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisTimeOffRequestsUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(HrisTimeOffRequestsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new HrisTimeOffRequestsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hris/time-off-requests/employees/{employee_id}/time-off-requests/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("hris.timeOffRequestsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisTimeOffRequestsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteTimeOffRequestResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new HrisTimeOffRequestsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/TrackingCategories.cs b/src/Apideck/Unify/SDK/TrackingCategories.cs new file mode 100644 index 00000000..08bd9516 --- /dev/null +++ b/src/Apideck/Unify/SDK/TrackingCategories.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface ITrackingCategories + { + + /// + /// List Tracking Categories + /// + /// + /// List Tracking Categories + /// + /// + Task ListAsync(AccountingTrackingCategoriesAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create Tracking Category + /// + /// + /// Create Tracking Category + /// + /// + Task CreateAsync(AccountingTrackingCategoriesAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get Tracking Category + /// + /// + /// Get Tracking Category + /// + /// + Task GetAsync(AccountingTrackingCategoriesOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update Tracking Category + /// + /// + /// Update Tracking Category + /// + /// + Task UpdateAsync(AccountingTrackingCategoriesUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete Tracking Category + /// + /// + /// Delete Tracking Category + /// + /// + Task DeleteAsync(AccountingTrackingCategoriesDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class TrackingCategories: ITrackingCategories + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public TrackingCategories(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(AccountingTrackingCategoriesAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/tracking-categories", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.trackingCategoriesAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingTrackingCategoriesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetTrackingCategoriesResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new AccountingTrackingCategoriesAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(AccountingTrackingCategoriesAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingTrackingCategoriesAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/tracking-categories", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "TrackingCategory", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.trackingCategoriesAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTrackingCategoriesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateTrackingCategoryResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTrackingCategoriesAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(AccountingTrackingCategoriesOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingTrackingCategoriesOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/tracking-categories/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.trackingCategoriesOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTrackingCategoriesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetTrackingCategoryResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTrackingCategoriesOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(AccountingTrackingCategoriesUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingTrackingCategoriesUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/tracking-categories/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "TrackingCategory", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.trackingCategoriesUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTrackingCategoriesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateTrackingCategoryResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTrackingCategoriesUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(AccountingTrackingCategoriesDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new AccountingTrackingCategoriesDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/accounting/tracking-categories/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("accounting.trackingCategoriesDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTrackingCategoriesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteTrackingCategoryResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new AccountingTrackingCategoriesDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/UploadSessions.cs b/src/Apideck/Unify/SDK/UploadSessions.cs new file mode 100644 index 00000000..555ccd26 --- /dev/null +++ b/src/Apideck/Unify/SDK/UploadSessions.cs @@ -0,0 +1,866 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IUploadSessions + { + + /// + /// Start Upload Session + /// + /// + /// Start an Upload Session. Upload sessions are used to upload large files, use the Upload File endpoint to upload smaller files (up to 100MB). Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the file upload guide. + /// + /// + Task CreateAsync(FileStorageUploadSessionsAddRequest request, string? serverUrl = null, RetryConfig? retryConfig = null); + + /// + /// Get Upload Session + /// + /// + /// Get Upload Session. Use the `part_size` to split your file into parts. Upload the parts to the Upload part of File endpoint. Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the file upload guide. + /// + /// + Task GetAsync(FileStorageUploadSessionsOneRequest request, string? serverUrl = null, RetryConfig? retryConfig = null); + + /// + /// Abort Upload Session + /// + /// + /// Abort Upload Session. Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the file upload guide. + /// + /// + Task DeleteAsync(FileStorageUploadSessionsDeleteRequest request, RetryConfig? retryConfig = null); + + /// + /// Finish Upload Session + /// + /// + /// Finish Upload Session. Only call this endpoint after all File parts have been uploaded to Upload part of File. Note that the base URL is upload.apideck.com instead of unify.apideck.com. For more information on uploads, refer to the file upload guide. + /// + /// + Task FinishAsync(FileStorageUploadSessionsFinishRequest request, string? serverUrl = null, RetryConfig? retryConfig = null); + } + + public class UploadSessions: IUploadSessions + { + /// + /// List of server URLs available for the fileStorage.uploadSessionsAdd operation. + /// + public static readonly string[] FileStorageUploadSessionsAddServerList = { + "https://upload.apideck.com", + }; + /// + /// List of server URLs available for the fileStorage.uploadSessionsOne operation. + /// + public static readonly string[] FileStorageUploadSessionsOneServerList = { + "https://upload.apideck.com", + }; + /// + /// List of server URLs available for the fileStorage.uploadSessionsFinish operation. + /// + public static readonly string[] FileStorageUploadSessionsFinishServerList = { + "https://upload.apideck.com", + }; + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public UploadSessions(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task CreateAsync(FileStorageUploadSessionsAddRequest request, string? serverUrl = null, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageUploadSessionsAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = Utilities.TemplateUrl(FileStorageUploadSessionsAddServerList[0], new Dictionary(){ + }); + if (serverUrl != null) + { + baseUrl = serverUrl; + } + var urlString = URLBuilder.Build(baseUrl, "/file-storage/upload-sessions", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "CreateUploadSessionRequest", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.uploadSessionsAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageUploadSessionsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateUploadSessionResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageUploadSessionsAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(FileStorageUploadSessionsOneRequest request, string? serverUrl = null, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageUploadSessionsOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = Utilities.TemplateUrl(FileStorageUploadSessionsOneServerList[0], new Dictionary(){ + }); + if (serverUrl != null) + { + baseUrl = serverUrl; + } + var urlString = URLBuilder.Build(baseUrl, "/file-storage/upload-sessions/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.uploadSessionsOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageUploadSessionsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetUploadSessionResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageUploadSessionsOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(FileStorageUploadSessionsDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageUploadSessionsDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/file-storage/upload-sessions/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.uploadSessionsDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageUploadSessionsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteUploadSessionResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageUploadSessionsDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task FinishAsync(FileStorageUploadSessionsFinishRequest request, string? serverUrl = null, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new FileStorageUploadSessionsFinishRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = Utilities.TemplateUrl(FileStorageUploadSessionsFinishServerList[0], new Dictionary(){ + }); + if (serverUrl != null) + { + baseUrl = serverUrl; + } + var urlString = URLBuilder.Build(baseUrl, "/file-storage/upload-sessions/{id}/finish", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "RequestBody", "json", false, true); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("fileStorage.uploadSessionsFinish", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageUploadSessionsFinishResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetFileResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new FileStorageUploadSessionsFinishResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Users.cs b/src/Apideck/Unify/SDK/Users.cs new file mode 100644 index 00000000..ae5e98a8 --- /dev/null +++ b/src/Apideck/Unify/SDK/Users.cs @@ -0,0 +1,1022 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IUsers + { + + /// + /// List users + /// + /// + /// List users + /// + /// + Task ListAsync(CrmUsersAllRequest? request = null, RetryConfig? retryConfig = null); + + /// + /// Create user + /// + /// + /// Create user + /// + /// + Task CreateAsync(CrmUsersAddRequest request, RetryConfig? retryConfig = null); + + /// + /// Get user + /// + /// + /// Get user + /// + /// + Task GetAsync(CrmUsersOneRequest request, RetryConfig? retryConfig = null); + + /// + /// Update user + /// + /// + /// Update user + /// + /// + Task UpdateAsync(CrmUsersUpdateRequest request, RetryConfig? retryConfig = null); + + /// + /// Delete user + /// + /// + /// Delete user + /// + /// + Task DeleteAsync(CrmUsersDeleteRequest request, RetryConfig? retryConfig = null); + } + + public class Users: IUsers + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Users(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(CrmUsersAllRequest? request = null, RetryConfig? retryConfig = null) + { + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/users", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.usersAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmUsersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetUsersResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new CrmUsersAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(CrmUsersAddRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmUsersAddRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/users", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "User", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.usersAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmUsersAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateUserResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmUsersAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(CrmUsersOneRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmUsersOneRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/users/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.usersOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmUsersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetUserResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmUsersOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(CrmUsersUpdateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmUsersUpdateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/users/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "User", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.usersUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmUsersUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateUserResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmUsersUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(CrmUsersDeleteRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new CrmUsersDeleteRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/crm/users/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("crm.usersDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmUsersDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteUserResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new CrmUsersDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Utils/AnyDeserializer.cs b/src/Apideck/Unify/SDK/Utils/AnyDeserializer.cs new file mode 100644 index 00000000..9d0d2fb1 --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/AnyDeserializer.cs @@ -0,0 +1,94 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils +{ + using Newtonsoft.Json; + using Newtonsoft.Json.Linq; + using System; + using System.Collections.Generic; + + public class AnyDeserializer : JsonConverter + { + public override bool CanConvert(Type objectType) + { + return (objectType == typeof(Dictionary)); + } + + public override bool CanWrite => false; + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + throw new NotSupportedException(); + } + + public override object ReadJson( + JsonReader reader, + Type objectType, + object? existingValue, + JsonSerializer serializer + ) + { + if (reader.TokenType == JsonToken.StartObject) { + return ParseTokenIntoDictionary(JToken.Load(reader)); + } + throw new JsonSerializationException($"Could not deserialize token into dictionary"); + } + + private Dictionary ParseTokenIntoDictionary(JToken token) + { + var dict = new Dictionary(); + + foreach (var child in token.Children()) + { + + object? val = null; + if (child.Value is JObject) + { + val = ParseTokenIntoDictionary(child.Value); + } + else if (child.Value is JArray) + { + val = ParseTokenIntoList(child.Value); + } + else if (child.Value != null) + { + val = ((JValue)child.Value).Value; + } + + dict[child.Name] = val; + } + + return dict; + } + + private List ParseTokenIntoList(JToken token) + { + var list = new List(); + + foreach (var child in token.Children()) + { + if (child is JObject) + { + list.Add((object)ParseTokenIntoDictionary(child)); + } + else if (child is JArray) + { + list.Add((object)ParseTokenIntoList(child)); + } + else + { + list.Add(((JValue)child).Value); + } + } + + return list; + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Utils/BigIntStrConverter.cs b/src/Apideck/Unify/SDK/Utils/BigIntStrConverter.cs new file mode 100644 index 00000000..8957c2eb --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/BigIntStrConverter.cs @@ -0,0 +1,61 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils +{ + using System; + using System.Globalization; + using System.Numerics; + using Newtonsoft.Json; + using Newtonsoft.Json.Linq; + + internal class BigIntStrConverter : JsonConverter + { + public override bool CanConvert(Type objectType) + { + var nullableType = Nullable.GetUnderlyingType(objectType); + if (nullableType != null) + { + return nullableType == typeof(BigInteger); + } + + return objectType == typeof(BigInteger); + } + + public override object? ReadJson( + JsonReader reader, + Type objectType, + object? existingValue, + JsonSerializer serializer + ) + { + if (reader.Value == null) + { + return null; + } + + try { + return BigInteger.Parse(reader.Value.ToString()!); + } catch (System.FormatException ex) { + throw new Newtonsoft.Json.JsonSerializationException("Could not parse BigInteger", ex); + } + } + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + if (value == null) + { + writer.WriteValue("null"); + return; + } + + writer.WriteValue(((BigInteger)value).ToString(CultureInfo.InvariantCulture)); + } + } +} diff --git a/src/Apideck/Unify/SDK/Utils/DecimalStrConverter.cs b/src/Apideck/Unify/SDK/Utils/DecimalStrConverter.cs new file mode 100644 index 00000000..e0ab246a --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/DecimalStrConverter.cs @@ -0,0 +1,60 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils +{ + using System; + using System.Globalization; + using Newtonsoft.Json; + using Newtonsoft.Json.Linq; + + internal class DecimalStrConverter : JsonConverter + { + public override bool CanConvert(Type objectType) + { + var nullableType = Nullable.GetUnderlyingType(objectType); + if (nullableType != null) + { + return nullableType == typeof(Decimal); + } + + return objectType == typeof(Decimal); + } + + public override object? ReadJson( + JsonReader reader, + Type objectType, + object? existingValue, + JsonSerializer serializer + ) + { + if (reader.Value == null) + { + return null; + } + + try { + return Decimal.Parse(reader.Value.ToString()!); + } catch (System.FormatException ex) { + throw new Newtonsoft.Json.JsonSerializationException("Could not parse Decimal", ex); + } + } + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + if (value == null) + { + writer.WriteValue("null"); + return; + } + + writer.WriteValue(((Decimal)value).ToString(CultureInfo.InvariantCulture)); + } + } +} diff --git a/src/Apideck/Unify/SDK/Utils/EnumConverter.cs b/src/Apideck/Unify/SDK/Utils/EnumConverter.cs new file mode 100644 index 00000000..70d9c13d --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/EnumConverter.cs @@ -0,0 +1,84 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +using System; +using Newtonsoft.Json; + +namespace Apideck.Unify.SDK.Utils +{ + internal class EnumConverter : JsonConverter + { + public override bool CanConvert(System.Type objectType) + { + var nullableType = Nullable.GetUnderlyingType(objectType); + if (nullableType != null) + { + return nullableType.IsEnum; + } + + return objectType.IsEnum; + } + + public override object? ReadJson( + JsonReader reader, + System.Type objectType, + object? existingValue, + JsonSerializer serializer + ) + { + if (reader.Value == null) + { + return null; + } + + var extensionType = System.Type.GetType(objectType.FullName + "Extension"); + + if (Nullable.GetUnderlyingType(objectType) != null) { + objectType = Nullable.GetUnderlyingType(objectType)!; + extensionType = System.Type.GetType(objectType!.FullName + "Extension"); + } + + if (extensionType == null) + { + return Enum.ToObject(objectType, reader.Value); + } + + var method = extensionType.GetMethod("ToEnum"); + if (method == null) + { + throw new Exception($"Unable to find ToEnum method on {extensionType.FullName}"); + } + + try { + return method.Invoke(null, new[] { (string)reader.Value }); + } catch(System.Reflection.TargetInvocationException e) { + throw new Newtonsoft.Json.JsonSerializationException("Unable to convert value to enum", e); + } + + } + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + if (value == null) + { + writer.WriteValue("null"); + return; + } + + var extensionType = System.Type.GetType(value.GetType().FullName + "Extension"); + if (extensionType == null) + { + writer.WriteValue(value); + return; + } + + writer.WriteValue(Utilities.ToString(value)); + } + } +} diff --git a/src/Apideck/Unify/SDK/Utils/FlexibleObjectDeserializer.cs b/src/Apideck/Unify/SDK/Utils/FlexibleObjectDeserializer.cs new file mode 100644 index 00000000..812c0948 --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/FlexibleObjectDeserializer.cs @@ -0,0 +1,43 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + using Newtonsoft.Json.Linq; + + internal class FlexibleObjectDeserializer: JsonConverter + { + public override bool CanConvert(Type objectType) => + objectType == typeof(object); + + public override bool CanWrite => false; + + public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer) + { + var token = JToken.ReadFrom(reader); + + if (token is JArray) + { + return new List(token.Select(t => + { + return t.ToString(); + })); + } + + return token.ToObject(objectType); + } + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) => + throw new NotImplementedException(); + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Utils/HeaderSerializer.cs b/src/Apideck/Unify/SDK/Utils/HeaderSerializer.cs new file mode 100644 index 00000000..8f932dbb --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/HeaderSerializer.cs @@ -0,0 +1,128 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils +{ + using System.Collections; + using System.Collections.Generic; + using System.Net.Http; + using System.Reflection; + + internal static class HeaderSerializer + { + public static void PopulateHeaders(ref HttpRequestMessage httpRequest, object? request) + { + if (request == null) + { + return; + } + + var props = request.GetType().GetProperties(); + + foreach (var prop in props) + { + var val = prop.GetValue(request); + if (val == null) + { + continue; + } + + var metadata = prop.GetCustomAttribute()?.GetHeaderMetadata(); + if (metadata == null || metadata.Name == "") + { + continue; + } + + var headerValue = SerializeHeader(val, metadata.Explode); + if (headerValue != "") + { + httpRequest.Headers.Add(metadata.Name, headerValue); + } + } + } + + private static string SerializeHeader(object value, bool explode) + { + if (Utilities.IsClass(value)) + { + var items = new List(); + + var props = value.GetType().GetProperties(); + + foreach (var prop in props) + { + var val = prop.GetValue(value); + if (val == null) + { + continue; + } + + var metadata = prop.GetCustomAttribute()?.GetHeaderMetadata(); + if (metadata == null || metadata.Name == null) + { + continue; + } + + if (explode) + { + items.Add($"{metadata.Name}={Utilities.ValueToString(val)}"); + } + else + { + items.Add(metadata.Name); + items.Add(Utilities.ValueToString(val)); + } + } + + return string.Join(",", items); + } + else if (Utilities.IsDictionary(value)) + { + var items = new List(); + + foreach (DictionaryEntry entry in (IDictionary)value) + { + var key = entry.Key?.ToString(); + + if (key == null) + { + continue; + } + + if (explode) + { + items.Add($"{key}={Utilities.ValueToString(entry.Value)}"); + } + else + { + items.Add(key); + items.Add(Utilities.ValueToString(entry.Value)); + } + } + + return string.Join(",", items); + } + else if (Utilities.IsList(value)) + { + var items = new List(); + + foreach (var item in (IList)value) + { + items.Add(Utilities.ValueToString(item)); + } + + return string.Join(",", items); + } + else + { + return Utilities.ValueToString(value); + } + } + } +} diff --git a/src/Apideck/Unify/SDK/Utils/IsoDateTimeSerializer.cs b/src/Apideck/Unify/SDK/Utils/IsoDateTimeSerializer.cs new file mode 100644 index 00000000..cf3af082 --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/IsoDateTimeSerializer.cs @@ -0,0 +1,48 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils +{ + using System; + using System.Globalization; + using Newtonsoft.Json; + + internal class IsoDateTimeSerializer: JsonConverter + { + public override bool CanConvert(Type objectType) + { + var nullableType = Nullable.GetUnderlyingType(objectType); + if (nullableType != null) + { + return nullableType == typeof(DateTime); + } + + return objectType == typeof(DateTime); + } + + public override bool CanRead => false; + + public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer) => + throw new NotImplementedException(); + + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) + { + if (value == null) + { + writer.WriteValue("null"); + return; + } + + DateTime time = (DateTime)value; + // The built-in Iso converter coerces to local time; + // This standardizes to UTC. + writer.WriteValue(time.ToUniversalTime().ToString("o", CultureInfo.InvariantCulture)); + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Utils/RequestBodySerializer.cs b/src/Apideck/Unify/SDK/Utils/RequestBodySerializer.cs new file mode 100644 index 00000000..b594aea2 --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/RequestBodySerializer.cs @@ -0,0 +1,536 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils +{ + using System; + using System.Collections; + using System.Collections.Generic; + using System.Net.Http; + using System.Reflection; + using System.Text; + + + internal class RequestBodySerializer + { + + public static HttpContent? Serialize( + object? request, + string requestFieldName, + string serializationMethod, + bool nullable = false, + bool optional = false, + string format = "" + ) + { + if (request == null) + { + if (!nullable && !optional) + { + throw new ArgumentNullException("request body is required"); + } + else if (nullable && serializationMethod == "json") + { + return new StringContent("null", Encoding.UTF8, "application/json"); + } + + return null; + } + + if (Utilities.IsClass(request)) + { + var prop = GetPropertyInfo(request, requestFieldName); + + if (prop != null) + { + var metadata = prop.GetCustomAttribute()?.GetRequestMetadata(); + if (metadata != null) + { + var fieldValue = prop.GetValue(request); + if (fieldValue == null) + { + return null; + } + + return TrySerialize( + fieldValue, + requestFieldName, + serializationMethod, + metadata.MediaType ?? "" + ); + } + } + } + + // Not an object or flattened request + return TrySerialize(request, requestFieldName, serializationMethod, "", format); + } + + private static HttpContent? TrySerialize( + object request, + string requestFieldName, + string serializationMethod, + string mediaType = "", + string format = "" + ) + { + if (mediaType == "") + { + mediaType = new Dictionary() + { + { "json", "application/json" }, + { "form", "application/x-www-form-urlencoded" }, + { "multipart", "multipart/form-data" }, + { "raw", "application/octet-stream" }, + { "string", "text/plain" }, + }[serializationMethod]; + } + + switch (serializationMethod) + { + case "json": + return SerializeJson(request, mediaType, format); + case "form": + return SerializeForm(request, requestFieldName, mediaType); + case "multipart": + return SerializeMultipart(request, mediaType); + default: + // if request is a byte array, use it directly otherwise encode + if (request.GetType() == typeof(byte[])) + { + return SerializeRaw((byte[])request, mediaType); + } + else if (request.GetType() == typeof(string)) + { + return SerializeString((string)request, mediaType); + } + else + { + throw new Exception( + "Cannot serialize request body of type " + + request.GetType().Name + + " with serialization method " + + serializationMethod + + "" + ); + } + } + } + + private static HttpContent SerializeJson(object request, string mediaType, string format = "") + { + return new StringContent(Utilities.SerializeJSON(request, format), Encoding.UTF8, mediaType); + } + + private static HttpContent SerializeForm( + object request, + string requestFieldName, + string mediaType + ) + { + Dictionary> form = new Dictionary>(); + + if (Utilities.IsClass(request)) + { + var props = request.GetType().GetProperties(); + + foreach (var prop in props) + { + var val = prop.GetValue(request); + if (val == null) + { + continue; + } + + var metadata = prop.GetCustomAttribute()?.GetFormMetadata(); + if (metadata == null) + { + continue; + } + + if (metadata.Json) + { + var key = metadata.Name ?? prop.Name; + if (key == "") + { + continue; + } + + if (!form.ContainsKey(key)) + { + form.Add(key, new List()); + } + + form[key].Add(Utilities.SerializeJSON(val)); + } + else + { + switch (metadata.Style) + { + case "form": + SerializeFormValue( + metadata.Name ?? prop.Name, + metadata.Explode, + val, + ref form + ); + break; + default: + throw new Exception("Unsupported form style " + metadata.Style); + } + } + } + } + else if (Utilities.IsDictionary(request)) + { + foreach (var k in ((IDictionary)request).Keys) + { + var key = k?.ToString(); + + if (key == null) + { + continue; + } + + if (!form.ContainsKey(key)) + { + form.Add(key, new List()); + } + + form[key].Add(Utilities.ValueToString(((IDictionary)request)[key])); + } + } + else if (Utilities.IsList(request)) + { + foreach (var item in (IList)request) + { + if (!form.ContainsKey(requestFieldName)) + { + form.Add(requestFieldName, new List()); + } + + form[requestFieldName].Add(Utilities.ValueToString(item)); + } + } + else + { + throw new Exception( + "Cannot serialize form data from type " + request.GetType().Name + ); + } + + var formData = new List>(); + + foreach (var key in form.Keys) + { + foreach (var val in form[key]) + { + formData.Add( + new KeyValuePair( + key + (form[key].Count > 1 ? "[]" : ""), + val + ) + ); + } + } + + return new FormUrlEncodedContent(formData); + } + + private static HttpContent SerializeMultipart(object request, string mediaType) + { + var formData = new MultipartFormDataContent(); + + var properties = request.GetType().GetProperties(); + + foreach (var prop in properties) + { + var value = prop.GetValue(request); + if (value == null) + { + continue; + } + + var metadata = prop.GetCustomAttribute()?.GetMultipartFormMetadata(); + if (metadata == null) + { + continue; + } + + if (metadata.File) + { + if (!Utilities.IsClass(value)) + { + throw new Exception( + "Cannot serialize multipart file from type " + value.GetType().Name + ); + } + + var fileProps = value.GetType().GetProperties(); + + byte[]? content = null; + string fileName = ""; + string fieldName = ""; + + foreach (var fileProp in fileProps) + { + var fileMetadata = fileProp + .GetCustomAttribute() + ?.GetMultipartFormMetadata(); + if ( + fileMetadata == null + || (!fileMetadata.Content && fileMetadata.Name == "") + ) + { + continue; + } + + if (fileMetadata.Content) + { + content = (byte[]?)fileProp.GetValue(value); + } + else + { + fieldName = fileMetadata.Name ?? fileProp.Name; + fileName = fileProp.GetValue(value)?.ToString() ?? ""; + } + } + + if (fieldName == "" || fileName == "" || content == null) + { + throw new Exception("Invalid multipart/form-data file"); + } + + formData.Add(new ByteArrayContent(content), fieldName, fileName); + } + else if (metadata.Json) + { + formData.Add( + new StringContent(Utilities.SerializeJSON(value)), + metadata.Name ?? prop.Name + ); + } + else if (Utilities.IsList(value)) + { + var values = new List(); + + foreach (var item in (IList)value) + { + values.Add(Utilities.ValueToString(item)); + } + + foreach (var val in values) + { + formData.Add(new StringContent(val), metadata.Name ?? prop.Name); + } + } + else + { + formData.Add( + new StringContent(Utilities.ValueToString(value)), + metadata.Name ?? prop.Name + ); + } + } + + return formData; + } + + private static HttpContent SerializeRaw(byte[] request, string mediaType) + { + var content = new ByteArrayContent(request); + content.Headers.Add("Content-Type", mediaType); + return content; + } + + private static HttpContent SerializeString(string request, string mediaType) + { + return new StringContent(request, Encoding.UTF8, mediaType); + } + + private static void SerializeFormValue( + string fieldName, + bool explode, + object value, + ref Dictionary> form + ) + { + if (Utilities.IsClass(value)) + { + if (Utilities.IsDate(value)) + { + if (!form.ContainsKey(fieldName)) + { + form[fieldName] = new List(); + } + + form[fieldName].Add(Utilities.ValueToString(value)); + } + else + { + var props = value.GetType().GetProperties(); + + var items = new List(); + + foreach (var prop in props) + { + var val = prop.GetValue(value); + if (val == null) + { + continue; + } + + var metadata = prop.GetCustomAttribute()?.GetFormMetadata(); + if (metadata == null || metadata.Name == null) + { + continue; + } + + if (explode) + { + if (!form.ContainsKey(metadata.Name)) + { + form[metadata.Name] = new List(); + } + + if (Utilities.IsList(val)) + { + foreach(var item in (IEnumerable)val) + { + form[metadata.Name].Add(Utilities.ValueToString(item)); + } + } + else + { + form[metadata.Name].Add(Utilities.ValueToString(val)); + } + } + else + { + if (Utilities.IsList(val)) + { + foreach(var item in (IEnumerable)val) + { + items.Add($"{metadata.Name},{Utilities.ValueToString(item)}"); + } + } + else + { + items.Add($"{metadata.Name},{Utilities.ValueToString(val)}"); + } + } + } + + if (items.Count > 0) + { + if (!form.ContainsKey(fieldName)) + { + form[fieldName] = new List(); + } + + form[fieldName].Add(string.Join(",", items)); + } + } + } + else if (Utilities.IsDictionary(value)) + { + var items = new List(); + + foreach (var k in ((IDictionary)value).Keys) + { + var key = k?.ToString(); + + if (key == null) + { + continue; + } + + if (explode) + { + if (!form.ContainsKey(key)) + { + form[key] = new List(); + } + + form[key].Add( + Utilities.ValueToString(((IDictionary)value)[key]) + ); + } + else + { + items.Add($"{key},{Utilities.ValueToString(((IDictionary)value)[key])}"); + } + } + + if (items.Count > 0) + { + if (!form.ContainsKey(fieldName)) + { + form[fieldName] = new List(); + } + + form[fieldName].Add(string.Join(",", items)); + } + } + else if (Utilities.IsList(value)) + { + var values = new List(); + var items = new List(); + + foreach (var item in (IList)value) + { + if (explode) + { + values.Add(Utilities.ValueToString(item)); + } + else + { + items.Add(Utilities.ValueToString(item)); + } + } + + if (items.Count > 0) + { + values.Add(string.Join(",", items)); + } + + foreach (var val in values) + { + if (!form.ContainsKey(fieldName)) + { + form[fieldName] = new List(); + } + + form[fieldName].Add(val); + } + } + else + { + if (!form.ContainsKey(fieldName)) + { + form[fieldName] = new List(); + } + + form[fieldName].Add(Utilities.ValueToString(value)); + } + } + + private static PropertyInfo? GetPropertyInfo(object value, string propertyName) + { + try + { + return value.GetType().GetProperty(propertyName); + } + catch (Exception) + { + return null; + } + } + } +} diff --git a/src/Apideck/Unify/SDK/Utils/ResponseBodyDeserializer.cs b/src/Apideck/Unify/SDK/Utils/ResponseBodyDeserializer.cs new file mode 100644 index 00000000..bfba496f --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/ResponseBodyDeserializer.cs @@ -0,0 +1,122 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils +{ + using System; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + using System.Net.Http; + using System.Reflection; + using System.Text; + using Newtonsoft.Json; + using Newtonsoft.Json.Linq; + + + internal class ResponseBodyDeserializer + { + + public static T? Deserialize(string json, NullValueHandling nullValueHandling=NullValueHandling.Ignore, MissingMemberHandling missingMemberHandling=MissingMemberHandling.Ignore) + { + return JsonConvert.DeserializeObject(json, new JsonSerializerSettings(){ NullValueHandling = nullValueHandling, MissingMemberHandling = missingMemberHandling, Converters = Utilities.GetJsonDeserializers(typeof(T))}); + } + + public sealed class MissingMemberException : Exception + { + public MissingMemberException() : base("Missing member.") { } + } + + public sealed class DeserializationException : Exception + { + public DeserializationException(Type type) : base($"Could not deserialize into {type} type.") { } + } + + public static T? DeserializeUndiscriminatedUnionMember(string json) + { + try + { + return Deserialize(json, missingMemberHandling: MissingMemberHandling.Error); + } + catch (Exception ex) + { + if (ex is Newtonsoft.Json.JsonSerializationException && + ex.Source == "Newtonsoft.Json" && + ex.Message.Contains("Could not find member")) + { + throw new MissingMemberException(); + } + else if (ex is Newtonsoft.Json.JsonReaderException || + ex is Newtonsoft.Json.JsonSerializationException + ) + { + throw new DeserializationException(typeof(T)); + } + + throw; + } + } + + public static object DeserializeUndiscriminatedUnionFallback(System.Type type, object obj, string propertyName, string json) + { + MethodInfo? method = typeof(ResponseBodyDeserializer).GetMethod("Deserialize"); + if (method != null) + { + MethodInfo generic = method!.MakeGenericMethod(type); + var args = new object[] { json, NullValueHandling.Ignore, MissingMemberHandling.Ignore }; + var value = generic.Invoke(null, args); + PropertyInfo? propertyInfo = obj.GetType().GetProperty(propertyName!); + if (propertyInfo != null && value != null) + { + propertyInfo!.SetValue(obj, value!); + return obj; + } + } + + throw new DeserializationException(type); + } + + public static int MissingJsonProperties(System.Type type, string json) + { + int missing = 0; + + JObject jo = JObject.Parse(json); + + var jsonPropertyAttributes = type.GetProperties() + .Where(prop => Attribute.IsDefined(prop, typeof(JsonPropertyAttribute))) + .Select(prop => prop.GetCustomAttribute(typeof(JsonPropertyAttribute)) as JsonPropertyAttribute) + .Where(attr => attr != null && attr!.PropertyName != null) + .ToList(); + + foreach (var attr in jsonPropertyAttributes) + { + string propertyName = attr!.PropertyName!; + if (!jo.TryGetValue(propertyName, out var _value)){ + missing++; + } + } + + return missing; + } + + public static int CompareFallbackCandidates(System.Type typeA, System.Type typeB, string json) + { + var missingA = MissingJsonProperties(typeA, json); + var missingB = MissingJsonProperties(typeB, json); + + if (missingA == missingB) + { + return typeB.GetProperties().Count().CompareTo(typeA.GetProperties().Count()); + } + + return missingA.CompareTo(missingB); + } + + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Utils/Retries/BackoffStrategy.cs b/src/Apideck/Unify/SDK/Utils/Retries/BackoffStrategy.cs new file mode 100644 index 00000000..79154920 --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/Retries/BackoffStrategy.cs @@ -0,0 +1,47 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils.Retries +{ + public class BackoffStrategy + { + public readonly long InitialIntervalMs; + public readonly long MaxIntervalMs; + public readonly long MaxElapsedTimeMs; + public readonly double BaseFactor; + public readonly double JitterFactor; + + /// + /// Configures the exponential backoff strategy. + /// + /// + /// The duration between consecutive attempts is calculated as follows: + /// intervalMs = min(maxIntervalMs, initialIntervalMs*(baseFactor^attempts) +/- r) + /// where baseFactor (also referred to as "exponent") is the multiplicative factor + /// and r a random value between 0 and jitterFactor*intervalMs. + /// + /// The initial interval in milliseconds. + /// The maximum interval in milliseconds. + /// The maximum elapsed time in milliseconds. + /// The base factor used to compute the exponential interval + /// The jitter factor used to randomize the backoff interval + public BackoffStrategy(long initialIntervalMs, + long maxIntervalMs, + long maxElapsedTimeMs, + double exponent, + double jitterFactor = 0.5) + { + InitialIntervalMs = initialIntervalMs; + MaxIntervalMs = maxIntervalMs; + MaxElapsedTimeMs = maxElapsedTimeMs; + BaseFactor = exponent; + JitterFactor = jitterFactor; + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Utils/Retries/Retries.cs b/src/Apideck/Unify/SDK/Utils/Retries/Retries.cs new file mode 100644 index 00000000..640a63d3 --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/Retries/Retries.cs @@ -0,0 +1,156 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils.Retries +{ + using System; + using System.Net.Http; + using System.Collections.Generic; + using System.Threading.Tasks; + using Models.Errors; + + public class Retries + { + private Func> action; + private RetryConfig retryConfig; + private List statusCodes; + + public Retries(Func> action, RetryConfig retryConfig, List statusCodes) + { + this.action = action; + this.retryConfig = retryConfig; + this.statusCodes = statusCodes; + + if (statusCodes.Count == 0) + { + throw new ArgumentException("statusCodes list cannot be empty"); + } + } + + public sealed class PermanentException : Exception + { + public PermanentException(Exception innerException) : base("NonRetryable error.", innerException) { } + } + + public sealed class RetryableException : Exception + { + public HttpResponseMessage? Response = null; + + public RetryableException(HttpResponseMessage response) { + Response = response; + } + + public RetryableException(Exception innerException) : base("An error occurred.", innerException) { } + } + + public async Task Run() + { + switch(retryConfig.Strategy) { + case RetryConfig.RetryStrategy.BACKOFF: + return await retryWithBackoff(retryConfig.RetryConnectionErrors); + + case RetryConfig.RetryStrategy.NONE: + return await action(); + + default: + throw new ArgumentException("Invalid retry strategy"); + } + } + + private async Task GetResponseAsync(bool retryConnectionErrors) + { + try + { + var response = await action(); + + foreach (var statusCode in statusCodes) + { + if (statusCode.ToUpper().Contains("X")) + { + var codeRange = int.Parse(statusCode.Substring(0, 1)); + var statusMajor = (int)response.StatusCode / 100; + if (codeRange == statusMajor) + { + throw new RetryableException(response); + } + } + else + { + var code = int.Parse(statusCode); + if (code == (int)response.StatusCode) + { + throw new RetryableException(response); + } + } + } + + return response; + } + catch (RetryableException) + { + throw; + } + catch (Exception ex) + { + if ((ex is HttpRequestException || ex is TaskCanceledException) && retryConfig.RetryConnectionErrors) + { + throw new RetryableException(ex); + } + throw new PermanentException(ex); + } + } + + private async Task retryWithBackoff(bool retryConnectionErrors) + { + var backoff = retryConfig.Backoff; + if(backoff == null){ + throw new ArgumentException("Backoff strategy is not defined"); + } + + var startMs = DateTimeOffset.Now.ToUnixTimeMilliseconds(); + var numAttempts = 0; + + while (true) + { + try + { + return await GetResponseAsync(retryConnectionErrors); + } + catch (PermanentException ex) + { + throw ex.InnerException!; + } + catch (RetryableException ex) + { + var nowMs = DateTimeOffset.Now.ToUnixTimeMilliseconds(); + if (nowMs - startMs > backoff.MaxElapsedTimeMs) + { + if(ex.Response != null) + { + return ex.Response; + } + throw; + } + + var intervalMs = backoff.InitialIntervalMs * Math.Pow(backoff.BaseFactor, numAttempts); + var jitterMs = backoff.JitterFactor * intervalMs; + intervalMs = intervalMs - jitterMs + new Random().NextDouble() * (2 * jitterMs + 1); + intervalMs = Math.Min(intervalMs, backoff.MaxIntervalMs); + + await Task.Delay((int)intervalMs); + numAttempts += 1; + } + catch (Exception) + { + throw new Exception("Unexpected error occurred."); + } + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Utils/Retries/RetryConfig.cs b/src/Apideck/Unify/SDK/Utils/Retries/RetryConfig.cs new file mode 100644 index 00000000..b3b8b53c --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/Retries/RetryConfig.cs @@ -0,0 +1,46 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils.Retries +{ + public class RetryConfig + { + public enum RetryStrategy + { + BACKOFF, + NONE + } + public readonly RetryStrategy Strategy; + public readonly BackoffStrategy? Backoff; + public readonly bool RetryConnectionErrors; + + /// + /// Selects the retry strategy. + /// + /// The retry strategy. + /// The backoff strategy configuration (if applicable) + /// Whether to retry on connection errors. + /// + /// The backoff strategy is only required if the retry strategy is set to BACKOFF. + /// To disable retries, set the strategy to NONE. + /// + public RetryConfig(RetryStrategy strategy, BackoffStrategy? backoff = null, bool retryConnectionErrors = false) + { + + if (strategy == RetryStrategy.BACKOFF && backoff == null) + { + throw new System.ArgumentNullException("Backoff strategy configuration was not provided"); + } + + Strategy = strategy; + Backoff = backoff; + RetryConnectionErrors = retryConnectionErrors; + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Utils/SecurityMetadata.cs b/src/Apideck/Unify/SDK/Utils/SecurityMetadata.cs new file mode 100644 index 00000000..a4461b86 --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/SecurityMetadata.cs @@ -0,0 +1,242 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils +{ + using System; + using System.Collections.Generic; + using System.Net.Http; + using System.Reflection; + using System.Text; + using System.Web; + + + internal class SecurityMetadata + { + private Dictionary headerParams { get; } = new Dictionary(); + private Dictionary queryParams { get; } = new Dictionary(); + + public SecurityMetadata(Func securitySource) + { + ParseSecuritySource(securitySource); + } + + public HttpRequestMessage Apply(HttpRequestMessage request) + { + foreach (var kvp in headerParams) + { + request.Headers.Add(kvp.Key, kvp.Value); + } + + if(request.RequestUri != null) + { + var uriBuilder = new UriBuilder(request.RequestUri); + var query = HttpUtility.ParseQueryString(uriBuilder.Query); + foreach (var kvp in queryParams) + { + query.Add(kvp.Key, kvp.Value); + } + uriBuilder.Query = query.ToString(); + request.RequestUri = uriBuilder.Uri; + } + + return request; + } + + private void ParseSecuritySource(Func securitySource) + { + if (securitySource == null) + { + return; + } + + var security = securitySource(); + if (security == null) + { + return; + } + + foreach (var prop in security.GetType().GetProperties()) + { + var value = prop.GetValue(security, null); + if (value == null) + { + continue; + } + + var secMetadata = prop.GetCustomAttribute()?.GetSecurityMetadata(); + if (secMetadata == null) + { + continue; + } + + if (secMetadata.Option) + { + ParseOption(value); + } + else if (secMetadata.Scheme) + { + if (secMetadata.SubType == "basic" && !Utilities.IsClass(value)) + { + ParseScheme(secMetadata, security); + return; + } + else + { + ParseScheme(secMetadata, value); + } + } + } + + return; + } + + private void ParseOption(object option) + { + foreach (var prop in option.GetType().GetProperties()) + { + var value = prop.GetValue(option, null); + if (value == null) + { + continue; + } + + var secMetadata = prop.GetCustomAttribute()?.GetSecurityMetadata(); + if (secMetadata == null || !secMetadata.Scheme) + { + continue; + } + + ParseScheme(secMetadata, value); + } + } + + private void ParseScheme(SpeakeasyMetadata.SecurityMetadata schemeMetadata, object scheme) + { + if (Utilities.IsClass(scheme)) + { + if (schemeMetadata.Type == "http" && schemeMetadata.SubType == "basic") + { + ParseBasicAuthScheme(scheme); + return; + } + + foreach (var prop in scheme.GetType().GetProperties()) + { + var value = prop.GetValue(scheme, null); + if (value == null) + { + continue; + } + + var secMetadata = prop.GetCustomAttribute()?.GetSecurityMetadata(); + if (secMetadata == null || secMetadata.Name == "") + { + continue; + } + + ParseSchemeValue(schemeMetadata, secMetadata, value); + } + } + else + { + ParseSchemeValue(schemeMetadata, schemeMetadata, scheme); + } + } + + private void ParseSchemeValue( + SpeakeasyMetadata.SecurityMetadata schemeMetadata, + SpeakeasyMetadata.SecurityMetadata valueMetadata, + object value + ) + { + var key = valueMetadata.Name; + if (key == "") + { + return; + } + + var valStr = Utilities.ValueToString(value); + + switch (schemeMetadata.Type) + { + case "apiKey": + switch (schemeMetadata.SubType) + { + case "header": + headerParams.Add(key, valStr); + break; + case "query": + queryParams.Add(key, valStr); + break; + case "cookie": + headerParams.Add("cookie", $"{key}={valStr}"); + break; + default: + throw new Exception($"Unknown apiKey subType: {schemeMetadata.SubType}"); + } + break; + case "openIdConnect": + headerParams.Add(key, Utilities.PrefixBearer(valStr)); + break; + case "oauth2": + if (!"client_credentials".Equals(schemeMetadata.SubType)) { + headerParams.Add(key, Utilities.PrefixBearer(valStr)); + } + break; + case "http": + switch (schemeMetadata.SubType) + { + case "bearer": + headerParams.Add(key, Utilities.PrefixBearer(valStr)); + break; + default: + throw new Exception($"Unknown http subType: {schemeMetadata.SubType}"); + } + break; + default: + throw new Exception($"Unknown security type: {schemeMetadata.Type}"); + } + } + + private void ParseBasicAuthScheme(object scheme) + { + + string username = ""; + string password = ""; + + foreach (var prop in scheme.GetType().GetProperties()) + { + var value = prop.GetValue(scheme, null); + if (value == null) + { + continue; + } + + var secMetadata = prop.GetCustomAttribute()?.GetSecurityMetadata(); + if (secMetadata == null || secMetadata.Name == "") + { + continue; + } + + if (secMetadata.Name == "username") + { + username = Utilities.ValueToString(value); + } + else if (secMetadata.Name == "password") + { + password = Utilities.ValueToString(value); + } + } + + var auth = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{username}:{password}")); + headerParams.Add("Authorization", $"Basic {auth}"); + } + } +} diff --git a/src/Apideck/Unify/SDK/Utils/SpeakeasyHttpClient.cs b/src/Apideck/Unify/SDK/Utils/SpeakeasyHttpClient.cs new file mode 100644 index 00000000..8789a2f7 --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/SpeakeasyHttpClient.cs @@ -0,0 +1,81 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils +{ + using System; + using System.Collections.Generic; + using System.Net.Http; + using System.Threading.Tasks; + + public interface ISpeakeasyHttpClient + { + /// + /// Sends an HTTP request asynchronously. + /// + /// The HTTP request message to send. + /// The value of the TResult parameter contains the HTTP response message. + Task SendAsync(HttpRequestMessage request); + + /// + /// Clones an HTTP request asynchronously. + /// + /// + /// This method is used in the context of Retries. It creates a new HttpRequestMessage instance + /// as a deep copy of the original request, including its method, URI, content, headers and options. + /// + /// The HTTP request message to clone. + /// The value of the TResult parameter contains the cloned HTTP request message. + Task CloneAsync(HttpRequestMessage request); + } + + public class SpeakeasyHttpClient : ISpeakeasyHttpClient + { + protected readonly HttpClient httpClient; + + public SpeakeasyHttpClient() + { + httpClient = new System.Net.Http.HttpClient(); + } + + public virtual async Task SendAsync(HttpRequestMessage request) + { + return await httpClient.SendAsync(request); + } + + public virtual async Task CloneAsync(HttpRequestMessage request) + { + HttpRequestMessage clone = new HttpRequestMessage(request.Method, request.RequestUri); + + if (request.Content != null) + { + clone.Content = new ByteArrayContent(await request.Content.ReadAsByteArrayAsync()); + if (request.Content.Headers != null) + { + foreach (var h in request.Content.Headers) + { + clone.Content.Headers.Add(h.Key, h.Value); + } + } + } + + foreach (KeyValuePair> header in request.Headers) + { + clone.Headers.TryAddWithoutValidation(header.Key, header.Value); + } + + foreach (KeyValuePair prop in request.Options) + { + clone.Options.TryAdd(prop.Key, prop.Value); + } + + return clone; + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Utils/SpeakeasyMetadata.cs b/src/Apideck/Unify/SDK/Utils/SpeakeasyMetadata.cs new file mode 100644 index 00000000..6126c221 --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/SpeakeasyMetadata.cs @@ -0,0 +1,242 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils +{ + using System; + using System.Collections.Generic; + + [AttributeUsage(AttributeTargets.Property, AllowMultiple = false)] + internal class SpeakeasyMetadata : Attribute + { + internal class RequestMetadata + { + public string? MediaType { get; set; } = null; + } + + internal class FormMetadata + { + public string Style { get; set; } = "form"; + public bool Explode { get; set; } = true; + public bool Json { get; set; } = false; + public string Name { get; set; } = ""; + } + + internal class MultipartFormMetadata + { + public bool File { get; set; } = false; + public bool Content { get; set; } = false; + public bool Json { get; set; } = false; + public string Name { get; set; } = ""; + } + + internal class PathParamMetadata + { + public string Style { get; set; } = "simple"; + public bool Explode { get; set; } = false; + public string Name { get; set; } = ""; + public string? Serialization { get; set; } = null; + } + + internal class QueryParamMetadata + { + public string Style { get; set; } = "form"; + public bool Explode { get; set; } = true; + public string Name { get; set; } = ""; + public string? Serialization { get; set; } = null; + } + + internal class HeaderMetadata + { + public string Style { get; set; } = "simple"; + public bool Explode { get; set; } = false; + public string Name { get; set; } = ""; + } + + internal class SecurityMetadata + { + public string? Type { get; set; } = null; + public string? SubType { get; set; } = null; + public bool Option { get; set; } = false; + public bool Scheme { get; set; } = false; + public string Name { get; set; } = ""; + } + + public string Value { get; set; } + private Dictionary? metadata; + + public SpeakeasyMetadata(string value) + { + Value = value; + } + + public RequestMetadata? GetRequestMetadata() + { + if (GetMetadata().TryGetValue("request", out var value)) + { + var metadata = new RequestMetadata(); + + ParseMetadata(value, ref metadata); + + return metadata; + } + + return null; + } + + public FormMetadata? GetFormMetadata() + { + if (GetMetadata().TryGetValue("form", out var value)) + { + var metadata = new FormMetadata(); + + ParseMetadata(value, ref metadata); + + return metadata; + } + + return null; + } + + public MultipartFormMetadata? GetMultipartFormMetadata() + { + if (GetMetadata().TryGetValue("multipartForm", out var value)) + { + var metadata = new MultipartFormMetadata(); + + ParseMetadata(value, ref metadata); + + return metadata; + } + + return null; + } + + public PathParamMetadata? GetPathParamMetadata() + { + if (GetMetadata().TryGetValue("pathParam", out var value)) + { + var metadata = new PathParamMetadata(); + ParseMetadata(value, ref metadata); + return metadata; + } + + return null; + } + + public QueryParamMetadata? GetQueryParamMetadata() + { + if (GetMetadata().TryGetValue("queryParam", out var value)) + { + var metadata = new QueryParamMetadata(); + + ParseMetadata(value, ref metadata); + + return metadata; + } + + return null; + } + + public HeaderMetadata? GetHeaderMetadata() + { + if (GetMetadata().TryGetValue("header", out var value)) + { + var metadata = new HeaderMetadata(); + + ParseMetadata(value, ref metadata); + + return metadata; + } + + return null; + } + + public SecurityMetadata? GetSecurityMetadata() + { + if (GetMetadata().TryGetValue("security", out var value)) + { + var metadata = new SecurityMetadata(); + + ParseMetadata(value, ref metadata); + + return metadata; + } + + return null; + } + + private Dictionary GetMetadata() + { + if (metadata != null) + { + return metadata; + } + + metadata = new Dictionary(); + + var groups = Value.Split(" "); + + foreach (var group in groups) + { + var parts = group.Split(":"); + + if (parts.Length != 2) + { + continue; + } + + metadata.Add(parts[0], parts[1]); + } + + return metadata; + } + + private void ParseMetadata(string raw, ref T metadata) + { + Dictionary values = new Dictionary(); + + var groups = raw.Split(","); + + foreach (var group in groups) + { + var parts = group.Split("="); + var val = ""; + if (parts.Length == 2) + { + val = parts[1]; + } + + values.Add(parts[0], val); + } + + var props = typeof(T).GetProperties(); + + foreach (var prop in props) + { + if ( + values.TryGetValue( + char.ToLower(prop.Name[0]) + prop.Name.Substring(1), + out var value + ) + ) + { + if (prop.PropertyType == typeof(bool) || prop.PropertyType == typeof(Boolean)) + { + prop.SetValue(metadata, value == "true" || value == ""); + } + else + { + prop.SetValue(metadata, value); + } + } + } + } + } +} diff --git a/src/Apideck/Unify/SDK/Utils/URLBuilder.cs b/src/Apideck/Unify/SDK/Utils/URLBuilder.cs new file mode 100644 index 00000000..6548656a --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/URLBuilder.cs @@ -0,0 +1,597 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils +{ + using System; + using System.Collections; + using System.Collections.Generic; + using System.Net; + using System.Reflection; + + internal static class URLBuilder + { + public static string Build(string baseUrl, string relativeUrl, object? request) + { + var url = baseUrl; + + if (url.EndsWith("/")) + { + url = url.Substring(0, url.Length - 1); + } + + var pathAndFragment = relativeUrl.Split('#'); + if (pathAndFragment.Length > 2) + { + throw new ArgumentException($"Malformed URL: {relativeUrl}"); + } + + url += pathAndFragment[0]; + + var parameters = GetPathParameters(request); + url = ReplaceParameters(url, parameters); + + var queryParams = SerializeQueryParams(TrySerializeQueryParams(request)); + if (queryParams != "") + { + url += $"?{queryParams}"; + } + + if (pathAndFragment.Length == 2) + { + url += $"#{pathAndFragment[1]}"; + } + + return url; + } + + public static string ReplaceParameters(string url, Dictionary parameters) + { + foreach (var key in parameters.Keys) + { + url = url.Replace($"{{{key}}}", parameters[key]); + } + + return url; + } + + public static string SerializeQueryParams(Dictionary> queryParams) { + var queries = new List(); + + foreach (var key in queryParams.Keys) + { + foreach (var value in queryParams[key]) + { + queries.Add($"{key}={value}"); + } + } + + return string.Join("&", queries); + } + + private static Dictionary GetPathParameters(object? request) + { + var parameters = new Dictionary(); + + if (request == null) + { + return parameters; + } + + var props = request.GetType().GetProperties(); + + foreach (var prop in props) + { + var val = prop.GetValue(request); + + if (val == null) + { + continue; + } + + if (prop.GetCustomAttribute()?.GetRequestMetadata() != null) + { + continue; + } + + var metadata = prop.GetCustomAttribute()?.GetPathParamMetadata(); + + if (metadata == null) + { + continue; + } + + if (metadata.Serialization != null) + { + switch (metadata.Serialization) + { + case "json": + parameters.Add( + metadata.Name ?? prop.Name, + WebUtility.UrlEncode(Utilities.SerializeJSON(val)) + ); + break; + default: + throw new Exception( + $"Unknown serialization type: {metadata.Serialization}" + ); + } + } + else + { + switch (metadata.Style) + { + case "simple": + var simpleParams = SerializeSimplePathParams( + metadata.Name ?? prop.Name, + val, + metadata.Explode + ); + foreach (var key in simpleParams.Keys) + { + parameters.Add(key, simpleParams[key]); + } + break; + default: + throw new Exception($"Unsupported path param style: {metadata.Style}"); + } + } + } + + return parameters; + } + + private static Dictionary> TrySerializeQueryParams(object? request) + { + var parameters = new Dictionary>(); + + if (request == null) + { + return parameters; + } + + var props = request.GetType().GetProperties(); + + foreach (var prop in props) + { + var val = prop.GetValue(request); + + if (val == null) + { + continue; + } + + if (prop.GetCustomAttribute()?.GetRequestMetadata() != null) + { + continue; + } + + var metadata = prop.GetCustomAttribute()?.GetQueryParamMetadata(); + if (metadata == null) + { + continue; + } + + if (metadata.Serialization != null) + { + switch (metadata.Serialization) + { + case "json": + if (!parameters.ContainsKey(metadata.Name ?? prop.Name)) + { + parameters.Add(metadata.Name ?? prop.Name, new List()); + } + + parameters[metadata.Name ?? prop.Name].Add( + Utilities.SerializeJSON(val) + ); + break; + default: + throw new Exception( + $"Unknown serialization type: {metadata.Serialization}" + ); + } + } + else + { + switch (metadata.Style) + { + case "form": + var formParams = SerializeFormQueryParams( + metadata.Name ?? prop.Name, + val, + metadata.Explode, + "," + ); + foreach (var key in formParams.Keys) + { + if (!parameters.ContainsKey(key)) + { + parameters.Add(key, new List()); + } + + foreach (var v in formParams[key]) + { + parameters[key].Add(v); + } + } + break; + case "deepObject": + var deepObjParams = SerializeDeepObjectQueryParams( + metadata.Name ?? prop.Name, + val + ); + foreach (var key in deepObjParams.Keys) + { + if (!parameters.ContainsKey(key)) + { + parameters.Add(key, new List()); + } + + foreach (var v in deepObjParams[key]) + { + parameters[key].Add(v); + } + } + break; + case "pipeDelimited": + var pipeParams = SerializeFormQueryParams( + metadata.Name ?? prop.Name, + val, + metadata.Explode, + "|" + ); + foreach (var key in pipeParams.Keys) + { + if (!parameters.ContainsKey(key)) + { + parameters.Add(key, new List()); + } + + foreach (var v in pipeParams[key]) + { + parameters[key].Add(v); + } + } + break; + default: + throw new Exception($"Unsupported query param style: {metadata.Style}"); + } + } + } + + return parameters; + } + + private static Dictionary SerializeSimplePathParams( + string parentName, + object value, + bool explode + ) + { + var parameters = new Dictionary(); + + if (Utilities.IsClass(value)) + { + var vals = new List(); + + var props = value.GetType().GetProperties(); + + foreach (var prop in props) + { + var val = prop.GetValue(value); + + if (val == null) + { + continue; + } + + var metadata = prop.GetCustomAttribute()?.GetPathParamMetadata(); + if (metadata == null) + { + continue; + } + + if (explode) + { + vals.Add($"{metadata.Name}={Utilities.ToString(val)}"); + } + else + { + vals.Add($"{metadata.Name},{Utilities.ToString(val)}"); + } + } + + parameters.Add(parentName, string.Join(",", vals)); + } + else if (Utilities.IsDictionary(value)) + { + var vals = new List(); + + foreach (var key in ((IDictionary)value).Keys) + { + if (key == null) + { + continue; + } + + var val = ((IDictionary)value)[key]; + + if (explode) + { + vals.Add($"{key}={Utilities.ToString(val)}"); + } + else + { + vals.Add($"{key},{Utilities.ToString(val)}"); + } + } + + parameters.Add(parentName, string.Join(",", vals)); + } + else if (Utilities.IsList(value)) + { + var vals = new List(); + + foreach (var val in (IEnumerable)value) + { + vals.Add(Utilities.ToString(val)); + } + + parameters.Add(parentName, string.Join(",", vals)); + } + else + { + parameters.Add(parentName, Utilities.ToString(value)); + } + + return parameters; + } + + private static Dictionary> SerializeFormQueryParams( + string parentName, + object value, + bool explode, + string delimiter + ) + { + var parameters = new Dictionary>(); + + if (Utilities.IsClass(value) && !Utilities.IsDate(value)) + { + var props = value.GetType().GetProperties(); + + var items = new List(); + + foreach (var prop in props) + { + var val = prop.GetValue(value); + if (val == null) + { + continue; + } + + var metadata = prop.GetCustomAttribute()?.GetQueryParamMetadata(); + if (metadata == null || metadata.Name == null) + { + continue; + } + + if (explode) + { + if (!parameters.ContainsKey(metadata.Name)) + { + parameters.Add(metadata.Name, new List()); + } + + parameters[metadata.Name].Add( + Utilities.ToString(val) + ); + } + else + { + items.Add( + $"{metadata.Name}{delimiter}{Utilities.ValueToString(val)}" + ); + } + } + + if (items.Count > 0) + { + if (!parameters.ContainsKey(parentName)) + { + parameters.Add(parentName, new List()); + } + + parameters[parentName].Add(string.Join(delimiter, items)); + } + } + else if (Utilities.IsDictionary(value)) + { + var items = new List(); + + foreach (var k in ((IDictionary)value).Keys) + { + var key = k?.ToString(); + + if (key == null) + { + continue; + } + + if (explode) + { + if (!parameters.ContainsKey(key)) + { + parameters.Add(key, new List()); + } + + parameters[key].Add( + Utilities.ValueToString(((IDictionary)value)[key]) + ); + } + else + { + items.Add( + $"{key}{delimiter}{Utilities.ValueToString(((IDictionary)value)[key])}" + ); + } + } + + if (items.Count > 0) + { + if (!parameters.ContainsKey(parentName)) + { + parameters.Add(parentName, new List()); + } + + parameters[parentName].Add(string.Join(delimiter, items)); + } + } + else if (Utilities.IsList(value)) + { + var values = new List(); + var items = new List(); + + foreach (var item in (IList)value) + { + if (explode) + { + values.Add(Utilities.ValueToString(item)); + } + else + { + items.Add(Utilities.ValueToString(item)); + } + } + + if (items.Count > 0) + { + values.Add(string.Join(delimiter, items)); + } + + foreach (var val in values) + { + if (!parameters.ContainsKey(parentName)) + { + parameters.Add(parentName, new List()); + } + + parameters[parentName].Add(val); + } + } + else + { + if (!parameters.ContainsKey(parentName)) + { + parameters.Add(parentName, new List()); + } + + parameters[parentName].Add(Utilities.ValueToString(value)); + } + + return parameters; + } + + private static Dictionary> SerializeDeepObjectQueryParams( + string parentName, + object value + ) + { + var parameters = new Dictionary>(); + + if (Utilities.IsClass(value)) + { + var props = value.GetType().GetProperties(); + + foreach (var prop in props) + { + var val = prop.GetValue(value); + + if (val == null) + { + continue; + } + + var metadata = prop.GetCustomAttribute()?.GetQueryParamMetadata(); + if (metadata == null || metadata.Name == null) + { + continue; + } + + var keyName = $"{parentName}[{metadata.Name}]"; + + if (val != null && Utilities.IsList(val)) + { + foreach (var v in (IList)val) + { + if (!parameters.ContainsKey(keyName)) + { + parameters.Add(keyName, new List()); + } + + parameters[keyName].Add( + Utilities.ValueToString(v) + ); + } + } + else + { + if (!parameters.ContainsKey(keyName)) + { + parameters.Add(keyName, new List()); + } + + parameters[keyName].Add(Utilities.ValueToString(val)); + } + } + } + else if (Utilities.IsDictionary(value)) + { + foreach (var key in ((IDictionary)value).Keys) + { + if (key == null) + { + continue; + } + + var val = ((IDictionary)value)[key]; + + var keyName = $"{parentName}[{key}]"; + + if (val != null && Utilities.IsList(val)) + { + foreach (var v in (IList)val) + { + if (!parameters.ContainsKey(keyName)) + { + parameters.Add(keyName, new List()); + } + + parameters[keyName].Add( + Utilities.ValueToString(v) + ); + } + } + else + { + if (!parameters.ContainsKey(keyName)) + { + parameters.Add(keyName, new List()); + } + + parameters[keyName].Add(Utilities.ValueToString(val)); + } + } + } + + return parameters; + } + } +} diff --git a/src/Apideck/Unify/SDK/Utils/Utilities.cs b/src/Apideck/Unify/SDK/Utils/Utilities.cs new file mode 100644 index 00000000..477a9901 --- /dev/null +++ b/src/Apideck/Unify/SDK/Utils/Utilities.cs @@ -0,0 +1,323 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK.Utils +{ + using System; + using System.Linq; + using System.Net.Http.Headers; + using System.Collections.Generic; + using System.Text.RegularExpressions; + using System.Numerics; + using Newtonsoft.Json; + using NodaTime; + using System.Collections; + + public class Utilities + { + public static JsonConverter[] GetDefaultJsonSerializers() + { + return new JsonConverter[] + { + new IsoDateTimeSerializer(), + new EnumConverter() + }; + } + + public static JsonConverter[] GetDefaultJsonDeserializers() + { + return new JsonConverter[] { + new FlexibleObjectDeserializer(), + new EnumConverter(), + new AnyDeserializer() + }; + } + + public static JsonSerializerSettings GetDefaultJsonSerializerSettings() + { + return new JsonSerializerSettings() + { + NullValueHandling = NullValueHandling.Ignore, + Converters = GetDefaultJsonSerializers() + }; + } + + public static JsonSerializerSettings GetDefaultJsonDeserializerSettings() + { + return new JsonSerializerSettings() + { + NullValueHandling = NullValueHandling.Ignore, + Converters = GetDefaultJsonDeserializers() + }; + } + + public static JsonConverter[] GetJsonSerializers(Type type, string format = "") + { + if (format == "string") + { + if (type == typeof(BigInteger)) + { + return new JsonConverter[] { new BigIntStrConverter() }; + } + + if (type == typeof(Decimal)) + { + return new JsonConverter[] { new DecimalStrConverter() }; + } + } + + return GetDefaultJsonSerializers(); + } + + public static JsonConverter[] GetJsonDeserializers(Type type) + { + if (type == typeof(BigInteger)) + { + return new JsonConverter[] { new BigIntStrConverter() }; + } + + if (type == typeof(Decimal)) + { + return new JsonConverter[] { new DecimalStrConverter() }; + } + + return GetDefaultJsonDeserializers(); + } + + public static string SerializeJSON(object obj, string format = "") + { + var type = obj.GetType(); + if (IsList(obj)) + { + type = type.GetGenericArguments().Single(); + } + else if (IsDictionary(obj)) + { + type = type.GetGenericArguments().Last(); + } + + return JsonConvert.SerializeObject( + obj, + new JsonSerializerSettings() + { + NullValueHandling = NullValueHandling.Ignore, + Converters = GetJsonSerializers(type, format) + } + ); + } + + public static bool IsDictionary(object? o) + { + if (o == null) + return false; + return o is IDictionary + && o.GetType().IsGenericType + && o.GetType().GetGenericTypeDefinition().IsAssignableFrom(typeof(Dictionary<,>)); + } + + public static bool IsList(object? o) + { + if (o == null) + return false; + return o is IList + && o.GetType().IsGenericType + && o.GetType().GetGenericTypeDefinition().IsAssignableFrom(typeof(List<>)); + } + + public static bool IsClass(object? o) + { + if (o == null) + return false; + return o.GetType().IsClass && (o.GetType().FullName ?? "").StartsWith("Apideck.Unify.SDK.Models"); + } + + // TODO: code review polyfilled for IsAssignableTo + public static bool IsSameOrSubclass(Type potentialBase, Type potentialDescendant) + { + return potentialDescendant.IsSubclassOf(potentialBase) + || potentialDescendant == potentialBase; + } + + public static bool IsString(object? obj) + { + if (obj != null) + { + var type = obj.GetType(); + return IsSameOrSubclass(type, typeof(string)); + } + else + { + return false; + } + } + + public static bool IsPrimitive(object? obj) => obj != null && obj.GetType().IsPrimitive; + + public static bool IsEnum(object? obj) => obj != null && obj.GetType().IsEnum; + + public static bool IsDate(object? obj) => + obj != null && (obj.GetType() == typeof(DateTime) || obj.GetType() == typeof(LocalDate)); + + private static string StripSurroundingQuotes(string input) + { + Regex surroundingQuotesRegex = new Regex("^\"(.*)\"$"); + var match = surroundingQuotesRegex.Match(input); + if(match.Groups.Values.Count() == 2) + { + return match.Groups.Values.Last().ToString(); + } + return input; + } + + public static string ValueToString(object? value) + { + if (value == null) + { + return ""; + } + + if (value.GetType() == typeof(DateTime)) + { + return ((DateTime)value) + .ToUniversalTime() + .ToString("o", System.Globalization.CultureInfo.InvariantCulture); + } + else if (value.GetType() == typeof(LocalDate)) + { + return ((LocalDate)value) + .ToDateTimeUnspecified() + .ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); + } + else if (value.GetType() == typeof(bool)) + { + return (bool)value ? "true" : "false"; + } + else if (IsEnum(value)) + { + var method = Type.GetType(value.GetType().FullName + "Extension") + ?.GetMethod("Value"); + if (method == null) + { + return Convert.ChangeType(value, Enum.GetUnderlyingType(value.GetType()))?.ToString() ?? ""; + } + return (string)(method.Invoke(null, new[] { value }) ?? ""); + } + else if (IsDictionary(value)) + { + return JsonConvert.SerializeObject(value, GetDefaultJsonSerializerSettings()); + } + + return value.ToString() ?? ""; + } + + public static string ToString(object? obj) + { + if (obj == null) + { + return ""; + } + + if (IsString(obj)) + { + return obj.ToString() ?? ""; + } + + if (IsPrimitive(obj)) + { + return JsonConvert.SerializeObject(obj); + } + + if (IsEnum(obj)) + { + var attributes = obj.GetType().GetMember(obj.ToString() ?? "").First().CustomAttributes; + if (attributes.Count() == 0) + { + return JsonConvert.SerializeObject(obj); + } + + var args = attributes.First().ConstructorArguments; + if (args.Count() == 0) + { + return JsonConvert.SerializeObject(obj); + } + return StripSurroundingQuotes(args.First().ToString()); + } + + if (IsDate(obj)) + { + return StripSurroundingQuotes( + JsonConvert.SerializeObject(obj, GetDefaultJsonSerializerSettings()) + ); + } + + return JsonConvert.SerializeObject(obj, GetDefaultJsonSerializerSettings()); + } + + public static bool IsContentTypeMatch(string expected, string? actual) + { + if (actual == null) + { + return false; + } + + if (expected == actual || expected == "*" || expected == "*/*") + { + return true; + } + + try + { + var mediaType = MediaTypeHeaderValue.Parse(actual).MediaType ?? ""; + + if (expected == mediaType) + { + return true; + } + + var parts = mediaType.Split('/'); + if (parts.Length == 2) + { + if (parts[0] + "/*" == expected || "*/" + parts[1] == expected) + { + return true; + } + } + } + catch (Exception) { } + + return false; + } + + public static string PrefixBearer(string authHeaderValue) + { + if (authHeaderValue.StartsWith("bearer ", StringComparison.InvariantCultureIgnoreCase)) + { + return authHeaderValue; + } + + return $"Bearer {authHeaderValue}"; + } + public static string RemoveSuffix(string inputString, string suffix) + { + if (!String.IsNullOrEmpty(suffix) && inputString.EndsWith(suffix)) + { + return inputString.Remove(inputString.Length - suffix.Length, suffix.Length); + } + return inputString; + } + public static string TemplateUrl(string template, Dictionary paramDict) + { + foreach(KeyValuePair entry in paramDict) + { + template = template.Replace('{' + entry.Key + '}', entry.Value); + } + return template; + } + } +} diff --git a/src/Apideck/Unify/SDK/ValidateConnection.cs b/src/Apideck/Unify/SDK/ValidateConnection.cs new file mode 100644 index 00000000..b6bd9ae0 --- /dev/null +++ b/src/Apideck/Unify/SDK/ValidateConnection.cs @@ -0,0 +1,254 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IValidateConnection + { + + /// + /// Validate Connection State + /// + /// + /// This endpoint validates the current state of a given connection. This will perform different checks based on the connection auth type. For basic and apiKey auth types, the presence of required fields is checked.
+ /// For connectors that implement OAuth2, this operation forces the refresh flow for an access token regardless of its expiry.
+ ///
+ /// Note:
+ /// - Do not include any credentials in the request body. This operation does not persist changes, but only triggers the validation of connection state.
+ /// - If a refresh token flow was performed and successful, the new access token will then be used for subsequent API requests.
+ /// + ///
+ ///
+ Task StateAsync(VaultValidateConnectionStateRequest request, RetryConfig? retryConfig = null); + } + + public class ValidateConnection: IValidateConnection + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public ValidateConnection(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task StateAsync(VaultValidateConnectionStateRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new VaultValidateConnectionStateRequest(); + } + request.ConsumerId ??= SDKConfiguration.ConsumerId; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/vault/connections/{unified_api}/{service_id}/validate", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "RequestBody", "json", false, true); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("vault.validateConnectionState", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultValidateConnectionStateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.ValidateConnectionStateResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new VaultValidateConnectionStateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Vault.cs b/src/Apideck/Unify/SDK/Vault.cs new file mode 100644 index 00000000..f7727866 --- /dev/null +++ b/src/Apideck/Unify/SDK/Vault.cs @@ -0,0 +1,74 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils; + using System; + + public interface IVault + { + public IConsumers Consumers { get; } + public IConsumerRequestCounts ConsumerRequestCounts { get; } + public IConnections Connections { get; } + public IValidateConnection ValidateConnection { get; } + public ICreateCallback CreateCallback { get; } + public IConnectionSettings ConnectionSettings { get; } + public ICustomFields CustomFields { get; } + public IConnectionCustomMappings ConnectionCustomMappings { get; } + public ICustomMappings CustomMappings { get; } + public ISessions Sessions { get; } + public ILogs Logs { get; } + } + + public class Vault: IVault + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + public IConsumers Consumers { get; private set; } + public IConsumerRequestCounts ConsumerRequestCounts { get; private set; } + public IConnections Connections { get; private set; } + public IValidateConnection ValidateConnection { get; private set; } + public ICreateCallback CreateCallback { get; private set; } + public IConnectionSettings ConnectionSettings { get; private set; } + public ICustomFields CustomFields { get; private set; } + public IConnectionCustomMappings ConnectionCustomMappings { get; private set; } + public ICustomMappings CustomMappings { get; private set; } + public ISessions Sessions { get; private set; } + public ILogs Logs { get; private set; } + + public Vault(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + Consumers = new Consumers(_client, _securitySource, _serverUrl, SDKConfiguration); + ConsumerRequestCounts = new ConsumerRequestCounts(_client, _securitySource, _serverUrl, SDKConfiguration); + Connections = new Connections(_client, _securitySource, _serverUrl, SDKConfiguration); + ValidateConnection = new ValidateConnection(_client, _securitySource, _serverUrl, SDKConfiguration); + CreateCallback = new CreateCallback(_client, _securitySource, _serverUrl, SDKConfiguration); + ConnectionSettings = new ConnectionSettings(_client, _securitySource, _serverUrl, SDKConfiguration); + CustomFields = new CustomFields(_client, _securitySource, _serverUrl, SDKConfiguration); + ConnectionCustomMappings = new ConnectionCustomMappings(_client, _securitySource, _serverUrl, SDKConfiguration); + CustomMappings = new CustomMappings(_client, _securitySource, _serverUrl, SDKConfiguration); + Sessions = new Sessions(_client, _securitySource, _serverUrl, SDKConfiguration); + Logs = new Logs(_client, _securitySource, _serverUrl, SDKConfiguration); + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Webhook.cs b/src/Apideck/Unify/SDK/Webhook.cs new file mode 100644 index 00000000..7855556f --- /dev/null +++ b/src/Apideck/Unify/SDK/Webhook.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Utils; + using System; + + public interface IWebhook + { + public IWebhooks Webhooks { get; } + } + + public class Webhook: IWebhook + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + public IWebhooks Webhooks { get; private set; } + + public Webhook(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + Webhooks = new Webhooks(_client, _securitySource, _serverUrl, SDKConfiguration); + } + } +} \ No newline at end of file diff --git a/src/Apideck/Unify/SDK/Webhooks.cs b/src/Apideck/Unify/SDK/Webhooks.cs new file mode 100644 index 00000000..a176008e --- /dev/null +++ b/src/Apideck/Unify/SDK/Webhooks.cs @@ -0,0 +1,1029 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace Apideck.Unify.SDK +{ + using Apideck.Unify.SDK.Hooks; + using Apideck.Unify.SDK.Models.Components; + using Apideck.Unify.SDK.Models.Errors; + using Apideck.Unify.SDK.Models.Requests; + using Apideck.Unify.SDK.Utils.Retries; + using Apideck.Unify.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + public interface IWebhooks + { + + /// + /// List webhook subscriptions + /// + /// + /// List all webhook subscriptions + /// + /// + Task ListAsync(string? appId = null, string? cursor = null, long? limit = null, RetryConfig? retryConfig = null); + + /// + /// Create webhook subscription + /// + /// + /// Create a webhook subscription to receive events + /// + /// + Task CreateAsync(CreateWebhookRequest createWebhookRequest, string? appId = null, RetryConfig? retryConfig = null); + + /// + /// Get webhook subscription + /// + /// + /// Get the webhook subscription details + /// + /// + Task GetAsync(string id, string? appId = null, RetryConfig? retryConfig = null); + + /// + /// Update webhook subscription + /// + /// + /// Update a webhook subscription + /// + /// + Task UpdateAsync(string id, UpdateWebhookRequest updateWebhookRequest, string? appId = null, RetryConfig? retryConfig = null); + + /// + /// Delete webhook subscription + /// + /// + /// Delete a webhook subscription + /// + /// + Task DeleteAsync(string id, string? appId = null, RetryConfig? retryConfig = null); + } + + public class Webhooks: IWebhooks + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.0.4"; + private const string _sdkGenVersion = "2.471.2"; + private const string _openapiDocVersion = "10.8.2"; + private const string _userAgent = "speakeasy-sdk/csharp 0.0.4 2.471.2 10.8.2 Apideck.Unify.SDK"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _client; + private Func? _securitySource; + + public Webhooks(ISpeakeasyHttpClient client, Func? securitySource, string serverUrl, SDKConfig config) + { + _client = client; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task ListAsync(string? appId = null, string? cursor = null, long? limit = null, RetryConfig? retryConfig = null) + { + var request = new WebhookWebhooksAllRequest() + { + AppId = appId, + Cursor = cursor, + Limit = limit, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/webhook/webhooks", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("webhook.webhooksAll", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new WebhookWebhooksAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetWebhooksResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var response = new WebhookWebhooksAllResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task CreateAsync(CreateWebhookRequest createWebhookRequest, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new WebhookWebhooksAddRequest() + { + CreateWebhookRequest = createWebhookRequest, + AppId = appId, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + + var urlString = baseUrl + "/webhook/webhooks"; + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "CreateWebhookRequest", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("webhook.webhooksAdd", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 201) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new WebhookWebhooksAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.CreateWebhookResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new WebhookWebhooksAddResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task GetAsync(string id, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new WebhookWebhooksOneRequest() + { + Id = id, + AppId = appId, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/webhook/webhooks/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("webhook.webhooksOne", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new WebhookWebhooksOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.GetWebhookResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new WebhookWebhooksOneResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task UpdateAsync(string id, UpdateWebhookRequest updateWebhookRequest, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new WebhookWebhooksUpdateRequest() + { + Id = id, + UpdateWebhookRequest = updateWebhookRequest, + AppId = appId, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/webhook/webhooks/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Patch, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var serializedBody = RequestBodySerializer.Serialize(request, "UpdateWebhookRequest", "json", false, false); + if (serializedBody != null) + { + httpRequest.Content = serializedBody; + } + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("webhook.webhooksUpdate", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new WebhookWebhooksUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UpdateWebhookResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new WebhookWebhooksUpdateResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + + public async Task DeleteAsync(string id, string? appId = null, RetryConfig? retryConfig = null) + { + var request = new WebhookWebhooksDeleteRequest() + { + Id = id, + AppId = appId, + }; + request.AppId ??= SDKConfiguration.AppId; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/webhook/webhooks/{id}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("webhook.webhooksDelete", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new Apideck.Unify.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 402 || _statusCode == 404 || _statusCode == 422 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new WebhookWebhooksDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.DeleteWebhookResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 402) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 404) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode == 422) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + throw obj!; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.APIException("API error occurred", httpRequest, httpResponse); + } + else + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new WebhookWebhooksDeleteResponse() + { + HttpMeta = new Models.Components.HTTPMetadata() + { + Response = httpResponse, + Request = httpRequest + } + }; + response.UnexpectedErrorResponse = obj; + return response; + } + + throw new Models.Errors.APIException("Unknown content type received", httpRequest, httpResponse); + } + } + } +} \ No newline at end of file